Merge pull request #201 from tdwg/docs_website
Update Darwin Core website
|
@ -1,5 +1,6 @@
|
||||||
TITLE: Guidelines for contributing
|
# Guidelines for contributing
|
||||||
DESCRIPTION: This document describes how you can contribute to Darwin Core.
|
|
||||||
|
This document describes how you can contribute to Darwin Core.
|
||||||
|
|
||||||
Changes to the standard are subject to the [change policy](change_policy.html). Here's how you can contribute:
|
Changes to the standard are subject to the [change policy](change_policy.html). Here's how you can contribute:
|
||||||
|
|
||||||
|
|
|
@ -238,8 +238,8 @@ class DwcDigester(object):
|
||||||
template_data.append(class_group)
|
template_data.append(class_group)
|
||||||
return template_data
|
return template_data
|
||||||
|
|
||||||
def create_html(self, html_template="./config/index.tmpl",
|
def create_html(self, html_template="../docs/_layouts/terms.tmpl",
|
||||||
html_output="../www/guides/index.html"):
|
html_output="../docs/terms/index.md"):
|
||||||
"""build html with the processed term info, by filling in the tmpl-template
|
"""build html with the processed term info, by filling in the tmpl-template
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
theme: jekyll-theme-cayman
|
|
@ -0,0 +1,15 @@
|
||||||
|
<footer>
|
||||||
|
<div class="container">
|
||||||
|
<a href="https://www.tdwg.org/"><img src="https://www.tdwg.org/theme/images/footer_logo.png"></a>
|
||||||
|
|
||||||
|
<div class="theme-license">
|
||||||
|
Content on this site, made open by <a href="https://www.tdwg.org/">Biodiversity Information Standards (TDWG)</a> is licensed under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
||||||
|
<script src="https://www.tdwg.org/theme/js/jquery.min.js"></script>
|
||||||
|
<script src="https://www.tdwg.org/theme/js/popper.min.js"></script>
|
||||||
|
<script src="https://www.tdwg.org/theme/js/bootstrap.min.js"></script>
|
||||||
|
<script src="https://www.tdwg.org/theme/js/theme.js"></script>
|
|
@ -0,0 +1,20 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
<title>Darwin Core</title>
|
||||||
|
|
||||||
|
<!-- Favicons -->
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="https://www.tdwg.org/theme/icons/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="https://www.tdwg.org/theme/icons/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="https://www.tdwg.org/theme/icons/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="https://www.tdwg.org/theme/icons/site.webmanifest">
|
||||||
|
<link rel="mask-icon" href="https://www.tdwg.org/theme/icons/safari-pinned-tab.svg" color="#617694">
|
||||||
|
<link rel="shortcut icon" href="https://www.tdwg.org/theme/icons/favicon.ico">
|
||||||
|
<meta name="msapplication-TileColor" content="#ffffff">
|
||||||
|
<meta name="msapplication-config" content="https://www.tdwg.org/theme/icons/browserconfig.xml">
|
||||||
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
|
||||||
|
<!-- CSS -->
|
||||||
|
<link rel="stylesheet" href="https://www.tdwg.org/theme/css/main.css">
|
||||||
|
</head>
|
|
@ -0,0 +1,27 @@
|
||||||
|
<header class="navbar navbar-expand navbar-dark theme-navbar">
|
||||||
|
<div class="container-fluid flex-column flex-md-row">
|
||||||
|
<a class="navbar-brand mr-md-3" href="http://www.tdwg.org">TDWG</a>
|
||||||
|
<nav>
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ "/" | absolute_url }}">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{ "terms/" | absolute_url }}">Terms</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown">Guides</a>
|
||||||
|
<div class="dropdown-menu">
|
||||||
|
<a class="dropdown-item" href="{{ "simple/" | absolute_url }}">Simple Darwin Core</a>
|
||||||
|
<a class="dropdown-item" href="{{ "text/" | absolute_url }}">Text</a>
|
||||||
|
<a class="dropdown-item" href="{{ "xml/" | absolute_url }}">XML</a>
|
||||||
|
<a class="dropdown-item" href="{{ "rdf/" | absolute_url }}">RDF</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item ml-auto">
|
||||||
|
<a class="fa-stack fa-lg nav-link" href="https://github.com/tdwg/dwc"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-github fa-stack-1x fa-inverse"></i></a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
|
@ -0,0 +1,85 @@
|
||||||
|
{% capture tocWorkspace %}
|
||||||
|
{% comment %}
|
||||||
|
Version 1.0.5
|
||||||
|
https://github.com/allejo/jekyll-toc
|
||||||
|
|
||||||
|
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
||||||
|
|
||||||
|
Optional Parameters:
|
||||||
|
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
|
||||||
|
* class (string) : '' - a CSS class assigned to the TOC
|
||||||
|
* id (string) : '' - an ID to assigned to the TOC
|
||||||
|
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
||||||
|
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
|
||||||
|
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
|
||||||
|
* item_class (string) : '' - add custom class for each list item; has support for '%level%' placeholder, which is the current heading level
|
||||||
|
* baseurl (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
|
||||||
|
|
||||||
|
Output:
|
||||||
|
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it
|
||||||
|
{% endcomment %}
|
||||||
|
|
||||||
|
{% capture my_toc %}{% endcapture %}
|
||||||
|
{% assign orderedList = include.ordered | default: false %}
|
||||||
|
{% assign minHeader = include.h_min | default: 1 %}
|
||||||
|
{% assign maxHeader = include.h_max | default: 6 %}
|
||||||
|
{% assign nodes = include.html | split: '<h' %}
|
||||||
|
{% assign firstHeader = true %}
|
||||||
|
|
||||||
|
{% capture listModifier %}{% if orderedList %}1.{% else %}-{% endif %}{% endcapture %}
|
||||||
|
|
||||||
|
{% for node in nodes %}
|
||||||
|
{% if node == "" %}
|
||||||
|
{% continue %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
|
||||||
|
|
||||||
|
{% if headerLevel < minHeader or headerLevel > maxHeader %}
|
||||||
|
{% continue %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if firstHeader %}
|
||||||
|
{% assign firstHeader = false %}
|
||||||
|
{% assign minHeader = headerLevel %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
|
||||||
|
{% assign _workspace = node | split: '</h' %}
|
||||||
|
|
||||||
|
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
||||||
|
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
||||||
|
{% assign html_id = _idWorkspace[0] %}
|
||||||
|
|
||||||
|
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
||||||
|
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
||||||
|
|
||||||
|
{% assign space = '' %}
|
||||||
|
{% for i in (1..indentAmount) %}
|
||||||
|
{% assign space = space | prepend: ' ' %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% unless include.item_class == blank %}
|
||||||
|
{% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
{% capture my_toc %}{{ my_toc }}
|
||||||
|
{{ space }}{{ listModifier }} {{ listItemClass }} [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% endcapture %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if include.class %}
|
||||||
|
{% capture my_toc %}{:.{{ include.class }}}
|
||||||
|
{{ my_toc | lstrip }}{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if include.id %}
|
||||||
|
{% capture my_toc %}{: #{{ include.id }}}
|
||||||
|
{{ my_toc | lstrip }}{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
|
|
@ -0,0 +1,28 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
{% include head.html %}
|
||||||
|
|
||||||
|
<body data-spy="scroll" data-target="#theme-sidebar-nav">
|
||||||
|
{% include navbar.html %}
|
||||||
|
|
||||||
|
<main class="{% if page.container == 'fixed' %}container{% else %}container-fluid{% endif %}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-md-3 order-md-2 theme-sidebar-primary">
|
||||||
|
<button class="btn d-md-none w-100" type="button" data-toggle="collapse" data-target="#theme-sidebar-nav">
|
||||||
|
<i class="fa fa-bars fa-lg"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav class="collapse" id="theme-sidebar-nav">
|
||||||
|
{% include toc.html html=content sanitize=true h_min=2 class="nav.flex-column" item_class="nav-item" %}
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 col-md-9 order-md-1">
|
||||||
|
{{ content }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
{% include footer.html %}
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,44 @@
|
||||||
|
{#
|
||||||
|
This template is NOT use by jekyll, but by the Darwin Core build script
|
||||||
|
to create the terms/index.md file which mostly contains html.
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Darwin Core quick reference guide
|
||||||
|
|
||||||
|
This page provides a list of all currently recommended terms of the Darwin Core standard. Categories such as `Occurrence` or `Event` correspond to Darwin Core classes which group other terms. Convenient [files of these terms](https://github.com/tdwg/dwc/tree/master/dist) and [their full history](https://github.com/tdwg/dwc/blob/master/vocabulary/term_versions.csv) can be found in the [Darwin Core repository](https://github.com/tdwg/dwc).
|
||||||
|
|
||||||
|
{% for class_group in class_groups %}
|
||||||
|
|
||||||
|
## {{ class_group.label }}
|
||||||
|
|
||||||
|
<div class="my-4">
|
||||||
|
{% for term in class_group.terms %}
|
||||||
|
<a class="btn btn-sm btn-outline-secondary m-1" href="#{{ term.namespace}}:{{ term.label }}">{{ term.label }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if class_group.iri is not none %}
|
||||||
|
{# The above will exclude the Record-level class_group #}
|
||||||
|
<table class="table table-sm border mb-3">
|
||||||
|
<tbody>
|
||||||
|
<tr class="table-primary"><th colspan="2">{{ class_group.label }}<span class="badge badge-primary float-right">Class</span></th></tr>
|
||||||
|
<tr><td class="label">Identifier</td><td><a href="{{ class_group.iri }}">{{ class_group.iri }}</a></td></tr>
|
||||||
|
<tr><td class="label">Definition</td><td>{{class_group.definition}}</td></tr>
|
||||||
|
<tr><td class="label">Comments</td><td>{{class_group.comments}}</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{%endif %}
|
||||||
|
|
||||||
|
{% for term in class_group.terms %}
|
||||||
|
<a id="{{ term.namespace}}:{{ term.label }}" class="anchor"></a>
|
||||||
|
<table class="table table-sm border mb-3">
|
||||||
|
<tbody>
|
||||||
|
<tr class="table-secondary"><th colspan="2">{{ term.label }}<span class="badge badge-secondary float-right">Property</span></th></tr>
|
||||||
|
<tr><td class="label">Identifier</td><td><a href="{{ term.iri }}">{{ term.iri }}</a></td></tr>
|
||||||
|
<tr><td class="label">Definition</td><td>{{ term.definition }}</td></tr>
|
||||||
|
<tr><td class="label">Comments</td><td>{{ term.comments }}</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,336 @@
|
||||||
|
# Darwin Core XML guide
|
||||||
|
|
||||||
|
Title
|
||||||
|
: Darwin Core XML guide
|
||||||
|
|
||||||
|
Date version issued
|
||||||
|
: 2015-06-02
|
||||||
|
|
||||||
|
Date created
|
||||||
|
: 2009-02-12
|
||||||
|
|
||||||
|
Part of TDWG Standard
|
||||||
|
: <http://www.tdwg.org/standards/450/>
|
||||||
|
|
||||||
|
This version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/xml/2014-11-08>
|
||||||
|
|
||||||
|
Latest version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/xml/>
|
||||||
|
|
||||||
|
Previous version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/xml/2010-05-23>
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
: Guidelines for the implementation of Darwin Core in XML.
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
: John Wieczorek (MVZ), Markus Döring (GBIF), Renato De Giovanni (CRIA), Tim Robertson (GBIF), Dave Vieglais (KUNHM)
|
||||||
|
|
||||||
|
Creator
|
||||||
|
: Darwin Core Task Group
|
||||||
|
|
||||||
|
Bibliographic citation
|
||||||
|
: Darwin Core Task Group. 2009. Darwin Core XML guide. Biodiversity Information Standards (TDWG). <http://rs.tdwg.org/dwc/terms/guides/xml/>
|
||||||
|
|
||||||
|
## 1 Introduction
|
||||||
|
|
||||||
|
This document provides guidelines for implementing application schemas based on [Darwin Core terms](../../terms/) using [XML](http://www.w3.org/XML/). The underlying metadata model is described (in a syntax neutral way), followed by some specific guidelines for XML implementations. Some guidance on the use of non-Darwin Core terms is also provided.
|
||||||
|
|
||||||
|
This document does not provide guidelines for encoding Darwin Core in RDF/XML. Nor does it take a position on the relative merits of encoding metadata in "plain" XML rather than RDF/XML. This document provides guidelines in those cases where RDF/XML is not considered appropriate.
|
||||||
|
|
||||||
|
### 1.1 Status of the content of this document
|
||||||
|
|
||||||
|
All sections of this document are normative, except for sections that are explicitly marked as non-normative.
|
||||||
|
|
||||||
|
### 1.2 Audience
|
||||||
|
|
||||||
|
This document is targeted toward those who wish to use or construct application schemas using Darwin Core terms in XML. It includes explanations of existing schemas such as [Simple Darwin Core](../simple/) and how to build new schemas to meet specific models of information.
|
||||||
|
|
||||||
|
## 2 Implementation guide
|
||||||
|
|
||||||
|
### 2.1 XML schema
|
||||||
|
|
||||||
|
Implementors should base their XML applications on [XML Schemas](http://www.w3.org/XML/Schema) rather than _XML DTDs_. Approaches based on _XML Schemas_ are more flexible and are more easily re-used within other XML applications.
|
||||||
|
|
||||||
|
### 2.2 XML namespaces
|
||||||
|
|
||||||
|
Implementors should use [XML Namespaces](http://www.w3.org/TR/1999/REC-xml-names-19990114/) to uniquely identify elements. Darwin Core namespaces are defined in the [Darwin Core Namespace Policy](../../namespace/), while Dublin Core namespaces are defined in the [DCMI Namespace Recommendation](http://dublincore.org/documents/dcmi-namespace/).
|
||||||
|
|
||||||
|
### 2.3 Abstract model
|
||||||
|
|
||||||
|
The Darwin Core follows the [Dublin Core Metadata Initiative Abstract Model](http://dublincore.org/documents/abstract-model/) except that the Darwin Core _record_ is roughly equivalent to the Dublin Core _resource_.
|
||||||
|
|
||||||
|
- Darwin Core terms are either `classes` or `properties`.
|
||||||
|
- Each `property` has at most one `class` as its domain (describes no more than one `class`).
|
||||||
|
- A `Darwin Core record` is made up of zero or more `classes` and one or more `properties` with their associated `values`.
|
||||||
|
- Each `value` is a literal string.
|
||||||
|
- The `values` of `properties` within a `Darwin Core record` describe that record.
|
||||||
|
- A `Darwin Core record` must include all required `properties`, if any, and their associated `values`.
|
||||||
|
|
||||||
|
### 2.4 Properties and values
|
||||||
|
|
||||||
|
Darwin Core follows the guidelines for expressing [Dublin Core metadata using XML](http://dublincore.org/documents/dc-xml/) except in that Darwin Core implementors should encode `properties` as XML elements and `values` as the content of those elements instead of having each property contain a value representation and its associated value. The name of the XML element should be an XML qualified name (QName), which associates the value given in the `Term name` attribute in the [Darwin Core Terms](../../terms/) recommendation with the appropriate namespace name. For example, use:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
|
targetNamespace="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/">
|
||||||
|
...
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
```
|
||||||
|
|
||||||
|
rather than:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<dwc:basisOfRecord value="HumanObservation"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.5 Null values
|
||||||
|
|
||||||
|
Elements for which the value is null should be omitted from the document or explicitly coded using the attribute `xsi:nil="true"`.
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<dwc:locality xsi:nil="true"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
Do not use an empty string - an element with no content:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<dwc:locality></dwc:locality>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.6 Simple Darwin Core
|
||||||
|
|
||||||
|
[Simple Darwin Core](tdwg_dwc_simple.xsd) most closely models the "flat" nature of many data sets. It is a ready-made schema for sharing information with no structure beyond properties of a _record_ (equivalent to fields in a table, or columns in a spreadsheet). It is meant to accommodate all properties except those that require further structure to be meaningful (auxilliary terms in the classes [ResourceRelationship](http://rs.tdwg.org/dwc/terms/ResourceRelationship) and [MeasurementOrFact](http://rs.tdwg.org/dwc/terms/MeasurementOrFact). The schema has no required terms and no term is repeated within a given _record_. Refer to [Simple Darwin Core](../simple/) for the rationale behind this schema.
|
||||||
|
|
||||||
|
The term [`dcterms:type`](http://rs.tdwg.org/dwc/terms/dcterms:type) (which is controlled by the [Dublin Core Type Vocabulary](http://dublincore.org/documents/dcmi-type-vocabulary/)), gives the basic category of object (`PhysicalObject`, `StillImage`, `MovingImage`, `Sound`, `Text`) the record is about. The term [`basisOfRecord`](http://rs.tdwg.org/dwc/terms/basisOfRecord), which has a controlled vocabulary distinct from that of `dcterms:type`, shows the name of the Darwin Core class (e.g., [`LivingSpecimen`](http://rs.tdwg.org/dwc/terms/LivingSpecimen), [`PreservedSpecimen`](http://rs.tdwg.org/dwc/terms/PreservedSpecimen), [`FossilSpecimen`](http://rs.tdwg.org/dwc/terms/FossilSpecimen), [`HumanObservation`](http://rs.tdwg.org/dwc/terms/HumanObservation), [`MachineObservation`](http://rs.tdwg.org/dwc/terms/MachineObservation), [`Taxon`](http://rs.tdwg.org/dwc/terms/Taxon)) the record is about.
|
||||||
|
|
||||||
|
#### 2.6.1 Simple Darwin Core example (non-normative)
|
||||||
|
|
||||||
|
Following is a brief example of an XML document for a single specimen complying with the [Simple Darwin Core Schema](tdwg_dwc_simple.xsd)]. The [Simple Darwin Core XML example document](example_simple.xml) (if this link shows a blank page in your browser, use the View Source option to see the XML document) shows detail for a single record having a more complete set of elements.
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<dwr:SimpleDarwinRecordSet
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/xsd/simpledarwincore/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_simple.xsd"
|
||||||
|
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwr="http://rs.tdwg.org/dwc/xsd/simpledarwincore/">
|
||||||
|
<dwr:SimpleDarwinRecord>
|
||||||
|
<dcterms:type>PhysicalObject</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
||||||
|
<dcterms:rightsHolder>Museum of Vertebrate Zoology</dcterms:rightsHolder>
|
||||||
|
<dcterms:rights>Creative Commons License</dcterms:rights>
|
||||||
|
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
||||||
|
<dwc:country>Argentina</dwc:country>
|
||||||
|
<dwc:countryCode>AR</dwc:countryCode>
|
||||||
|
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
||||||
|
<dwc:locality>25 km al NNE de Bariloche por Ruta 40 (=237)</dwc:locality>
|
||||||
|
</dwr:SimpleDarwinRecord>
|
||||||
|
</dwr:SimpleDarwinRecordSet>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.7 Classes and containment
|
||||||
|
|
||||||
|
Many Darwin Core terms (`properties`) are defined as being associated with another term (a `class`). For example, [`scientificName`](http://rs.tdwg.org/dwc/terms/scientificName) and [`Taxon`](http://rs.tdwg.org/dwc/terms/Taxon) are both Darwin Core terms, but `scientificName` is a property associated with the `Taxon` class. When constructing schemas that take advantage of classes in structures, implementors are encouraged to maintain the property/class relationships defined by the terms whenever possible (refer to the `Class` attribute of the term as given in the [Quick Reference Guide](../../terms/) or the attribute `dwcattributes:organizedInClass` in the term declaration in the [`dcterms.rdf`](../rdf/dcterms.rdf) file. To promote reuse, Darwin Core provides a set of xml schemas to use as the basis of additional schemas:
|
||||||
|
|
||||||
|
- [Terms XML Schema](tdwg_dwcterms.xsd) - property term definitions as typed global elements and named groups for all terms for a given class to be referenced. The schema makes use of substitution groups `anyClass`, `anyProperty`, `anyIdentifier` and `anyXYZTerm` for each class, e.g. `anyTaxonTerm`. This is the schema upon which the [Simple Darwin Core XML Schema](tdwg_dwc_simple.xsd) is based.
|
||||||
|
- [Class Terms XML Schema](tdwg_dwc_class_terms.xsd) - class term definitions as typed global elements with subelements referencing all corresponding property terms via their substitution group.
|
||||||
|
|
||||||
|
It is encouraged to use classes in a normalized way to avoid deep nesting. A [Darwin Core Tools and Applications page](https://github.com/tdwg/dwc-documentation/blob/master/documentation/resources.md) has been created as an index to example schemas for the purpose of community discussions and development. An [XML schema](tdwg_dwc_classes.xsd) is provided to freely mix any Darwin Core Class in a global list and allow them to reference each other using the respective class identifier terms.
|
||||||
|
|
||||||
|
#### 2.7.1 Normalized classes examples (non-normative)
|
||||||
|
|
||||||
|
Following is an example of using normalized classes to represent two related specimen occurrences (one of which has had a second identification) at one location following this class-based schema. Note that you can reuse the location definition here by referring to it via locationID:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<dwr:DarwinRecordSet
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/dwcrecord/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_classes.xsd"
|
||||||
|
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwr="http://rs.tdwg.org/dwc/dwcrecord/">
|
||||||
|
<dcterms:Location>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
<dwc:country>Argentina</dwc:country>
|
||||||
|
<dwc:countryCode>AR</dwc:countryCode>
|
||||||
|
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
||||||
|
<dwc:locality>25 km al NNE de Bariloche por Ruta 40 (=237)</dwc:locality>
|
||||||
|
</dcterms:Location>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dcterms:type>PhysicalObject</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
||||||
|
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Identification>
|
||||||
|
<dwc:identificationID>http://guid.mvz.org/identifications/23459</dwc:identificationID>
|
||||||
|
<dwc:identifiedBy>Richard Sage</dwc:identifiedBy>
|
||||||
|
<dwc:dateIdentified>2000</dwc:dateIdentified>
|
||||||
|
<dwc:identificationQualifier>sp.</dwc:identificationQualifier>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Identification>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:scientificName>Ctenomys</dwc:scientificName>
|
||||||
|
<dwc:taxonRank>genus</dwc:taxonRank>
|
||||||
|
<dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode>
|
||||||
|
<dwc:genus>Ctenomys</dwc:genus>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Identification>
|
||||||
|
<dwc:identificationID>http://guid.mvz.org/identifications/94752</dwc:identificationID>
|
||||||
|
<dwc:identifiedBy>James L Patton</dwc:identifiedBy>
|
||||||
|
<dwc:dateIdentified>2001-09-14</dwc:dateIdentified>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Identification>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:parentNameUsageID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:parentNameUsageID>
|
||||||
|
<dwc:scientificName>Ctenomys sociabilis</dwc:scientificName>
|
||||||
|
<dwc:scientificNameAuthorship>Pearson and Christie, 1985</dwc:scientificNameAuthorship>
|
||||||
|
<dwc:taxonRank>species</dwc:taxonRank>
|
||||||
|
<dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode>
|
||||||
|
<dwc:higherClassification>Animalia; Chordata; Vertebrata; Mammalia; Theria; Eutheria; Rodentia; Hystricognatha; Hystricognathi; Ctenomyidae; Ctenomyini; Ctenomys</dwc:higherClassification>
|
||||||
|
<dwc:kingdom>Animalia</dwc:kingdom>
|
||||||
|
<dwc:phylum>Chordata</dwc:phylum>
|
||||||
|
<dwc:class>Mammalia</dwc:class>
|
||||||
|
<dwc:order>Rodentia</dwc:order>
|
||||||
|
<dwc:family>Ctenomyidae</dwc:family>
|
||||||
|
<dwc:genus>Ctenomys</dwc:genus>
|
||||||
|
<dwc:specificEpithet>sociabilis</dwc:specificEpithet>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dcterms:type>PhysicalObject</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
||||||
|
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14524</dwc:occurrenceID>
|
||||||
|
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Identification>
|
||||||
|
<dwc:identificationID>http://guid.mvz.org/identifications/94753</dwc:identificationID>
|
||||||
|
<dwc:identifiedBy>James L Patton</dwc:identifiedBy>
|
||||||
|
<dwc:dateIdentified>2001-09-14</dwc:dateIdentified>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14524</dwc:occurrenceID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Identification>
|
||||||
|
<dwc:ResourceRelationship>
|
||||||
|
<dwc:resourceRelationshipID>http://guid.mvz.org/relations/23423</dwc:resourceRelationshipID>
|
||||||
|
<dwc:resourceID>urn:catalog:MVZ:Mammals:14523</dwc:resourceID>
|
||||||
|
<dwc:relatedResourceID>urn:catalog:MVZ:Mammals:14524</dwc:relatedResourceID>
|
||||||
|
<dwc:relationshipOfResource>offspring of</dwc:relationshipOfResource>
|
||||||
|
</dwc:ResourceRelationship>
|
||||||
|
<dwc:ResourceRelationship>
|
||||||
|
<dwc:resourceRelationshipID>http://guid.mvz.org/relations/23424</dwc:resourceRelationshipID>
|
||||||
|
<dwc:resourceID>urn:catalog:MVZ:Mammals:14524</dwc:resourceID>
|
||||||
|
<dwc:relatedResourceID>urn:catalog:MVZ:Mammals:14523</dwc:relatedResourceID>
|
||||||
|
<dwc:relationshipOfResource>mother of</dwc:relationshipOfResource>
|
||||||
|
</dwc:ResourceRelationship>
|
||||||
|
</dwr:DarwinRecordSet>
|
||||||
|
```
|
||||||
|
|
||||||
|
Here is different example demonstrating area count observations for events on two different days at one location. Note that we omit the identification class here as there is not identification related data and link via the `taxonID` directly:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<dwr:DarwinRecordSet
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/dwcrecord/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_classes.xsd"
|
||||||
|
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwr="http://rs.tdwg.org/dwc/dwcrecord/">
|
||||||
|
<dcterms:Location>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
<dwc:country>Argentina</dwc:country>
|
||||||
|
<dwc:countryCode>AR</dwc:countryCode>
|
||||||
|
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
||||||
|
<dwc:locality>Valle Limay, Estancia Rincon Grande, 48 ha area with centroid at this point</dwc:locality>
|
||||||
|
<dwc:decimalLatitude>-40.97467</dwc:decimalLatitude>
|
||||||
|
<dwc:decimalLongitude>-71.0734</dwc:decimalLongitude>
|
||||||
|
<dwc:geodeticDatum>WGS84</dwc:geodeticDatum>
|
||||||
|
<dwc:coordinateUncertaintyInMeters>200</dwc:coordinateUncertaintyInMeters>
|
||||||
|
</dcterms:Location>
|
||||||
|
<dwc:Event>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
||||||
|
<dwc:samplingProtocol>area count</dwc:samplingProtocol>
|
||||||
|
<dwc:eventDate>2006-11-26</dwc:eventDate>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Event>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515288</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>2</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:scientificName>Anthus hellmayri Hartert, 1909</dwc:scientificName>
|
||||||
|
<dwc:class>Aves</dwc:class>
|
||||||
|
<dwc:genus>Anthus</dwc:genus>
|
||||||
|
<dwc:specificEpithet>hellmayri</dwc:specificEpithet>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515286</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>1</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000e838-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000e838-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:scientificName>Anthus correndera Vieillot, 1818</dwc:scientificName>
|
||||||
|
<dwc:class>Aves</dwc:class>
|
||||||
|
<dwc:genus>Anthus</dwc:genus>
|
||||||
|
<dwc:specificEpithet>correndera</dwc:specificEpithet>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Event>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
||||||
|
<dwc:samplingProtocol>area count</dwc:samplingProtocol>
|
||||||
|
<dwc:eventDate>2006-11-27</dwc:eventDate>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Event>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515333</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>1</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515331</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>2</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
</dwr:DarwinRecordSet>
|
||||||
|
```
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
container: fixed
|
||||||
|
---
|
||||||
|
|
||||||
|
# Darwin Core
|
||||||
|
|
||||||
|
<p class="lead">Darwin Core is a standard maintained by the Darwin Core maintenance group. It includes a glossary of terms (in other contexts these might be called properties, elements, fields, columns, attributes, or concepts) intended to <strong>facilitate the sharing of information about biological diversity</strong> by providing identifiers, labels, and definitions. Darwin Core is primarily based on taxa, their occurrence in nature as documented by observations, specimens, samples, and related information.</p>
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
* [Darwin Core quick reference guide](terms/)
|
||||||
|
* Usage guides: on how to use Darwin Core as [Simple Darwin Core](simple/), [text](text/), [XML](xml/) or [RDF](rdf/)]
|
||||||
|
* [Darwin Core GitHub repository](https://github.com/tdwg/dwc): where Darwin Core is maintained
|
||||||
|
* [Normative document](https://github.com/tdwg/dwc/blob/master/vocabulary/term_versions.csv): a CSV file with the full version history of Darwin Core terms
|
||||||
|
* [Distribution files](https://github.com/tdwg/dwc/tree/master/dist): convenient files to start using Darwin Core
|
|
@ -0,0 +1,88 @@
|
||||||
|
---
|
||||||
|
container: fixed
|
||||||
|
---
|
||||||
|
|
||||||
|
# Darwin Core namespace policy
|
||||||
|
|
||||||
|
Title
|
||||||
|
: Darwin Core namespace policy
|
||||||
|
|
||||||
|
Date version issued
|
||||||
|
: 2018-08-26
|
||||||
|
|
||||||
|
Date created
|
||||||
|
: 2009-02-12
|
||||||
|
|
||||||
|
Part of TDWG Standard
|
||||||
|
: <http://www.tdwg.org/standards/450/>
|
||||||
|
|
||||||
|
This version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/namespace/2018-08-26>
|
||||||
|
|
||||||
|
Latest version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/namespace/>
|
||||||
|
|
||||||
|
Previous version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/namespace/2013-09-23>
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
: All terms in the Darwin Core must be assigned a unique Uniform Resource Identifier (URI). For convenience, the term URIs that are assigned and managed by the Darwin Core Task Group are grouped into collections known as Darwin Core namespaces. This document describes how term URIs are allocated by the Darwin Core Maintenance Group and the policies associated with Darwin Core namespaces.
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
: John Wieczorek (MVZ), Markus Döring (GBIF), Renato De Giovanni (CRIA), Tim Robertson (GBIF), Dave Vieglais (KUNHM)
|
||||||
|
|
||||||
|
Creator
|
||||||
|
: Darwin Core Task Group
|
||||||
|
|
||||||
|
Bibliographic citation
|
||||||
|
: Darwin Core Task Group. 2009. Darwin Core Namespace Policy. Biodiversity Information Standards (TDWG). <http://rs.tdwg.org/dwc/terms/namespace/>
|
||||||
|
|
||||||
|
## 1 Introduction
|
||||||
|
|
||||||
|
This document and the policies contained herein are modeled on the [Dublin Core Metadata Initiative Namespace Policy](http://dublincore.org/documents/2007/07/02/dcmi-namespace/). All terms in the Darwin Core must be identified with a unique Uniform Resource Identifier (URI). For convenience, the term URIs are grouped into collections known as _Darwin Core namespaces_. This document describes the policies associated with Darwin Core namespaces and how term URIs are allocated by the [Darwin Core Maintenance Group](http://www.tdwg.org/activities/darwincore/).
|
||||||
|
|
||||||
|
### 1.1 Status of the content of this document
|
||||||
|
|
||||||
|
All sections of this document are normative.
|
||||||
|
|
||||||
|
### 1.2 Audience
|
||||||
|
|
||||||
|
This document is targeted toward those who want to make changes to the Darwin Core, either by refining terms that already exist or by adding new terms to increase the capabilities of the standard.
|
||||||
|
|
||||||
|
## 2 Namespace URIs
|
||||||
|
|
||||||
|
The Darwin Core namespace URI for the collection of general Darwin Core properties, classes, and encoding schemes is:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://rs.tdwg.org/dwc/terms/
|
||||||
|
```
|
||||||
|
|
||||||
|
The Darwin Core namespace URI for the collection Darwin Core properties expected to have IRI values is:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://rs.tdwg.org/dwc/iri/
|
||||||
|
```
|
||||||
|
|
||||||
|
The term identifier for the current (recommended) version of a term is a URI based on the namespace and the term name without version information. Some example Darwin Core term identifiers follow:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://rs.tdwg.org/dwc/terms/scientificName
|
||||||
|
```
|
||||||
|
|
||||||
|
is the Darwin Core term identifier for the `scientificName` property, while
|
||||||
|
|
||||||
|
```
|
||||||
|
http://rs.tdwg.org/dwc/terms/MachineObservation
|
||||||
|
```
|
||||||
|
|
||||||
|
is the Darwin Core term identifier for the `MachineObservation` class.
|
||||||
|
|
||||||
|
All Darwin Core identifiers will dereference to a Darwin Core term declaration for the identified term.
|
||||||
|
|
||||||
|
## 3 Term change policy
|
||||||
|
|
||||||
|
(This section has been superseded by the [Vocabulary Maintenance Specification](https://github.com/tdwg/vocab/blob/master/vms/maintenance-specification.md))
|
||||||
|
|
||||||
|
## 4 Persistence policy
|
||||||
|
|
||||||
|
[TDWG](https://www.tdwg.org/) recognizes that people and applications depend on the persistence of formal documents and machine processable schemas that have been made publicly available. In particular, the stability of Darwin Core term URIs and Darwin Core namespace URIs is critical to interoperability over time. Thus, the wide promulgation of this set of URIs dictates that they be maintained to support legacy applications that have adopted them.
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
@ -1,28 +1,67 @@
|
||||||
# Simple Darwin Core
|
# Simple Darwin Core
|
||||||
|
|
||||||
## 1. Introduction
|
Title
|
||||||
|
: Simple Darwin Core
|
||||||
|
|
||||||
### 1.1 What is Simple Darwin Core?
|
Date version issued
|
||||||
|
: 2015-06-02
|
||||||
|
|
||||||
|
Date created
|
||||||
|
: 2009-04-21
|
||||||
|
|
||||||
|
Part of TDWG Standard
|
||||||
|
: <http://www.tdwg.org/standards/450/>
|
||||||
|
|
||||||
|
This version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/simple/2014-11-08>
|
||||||
|
|
||||||
|
Latest Version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/simple/>
|
||||||
|
|
||||||
|
Previous version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/simple/2013-10-22>
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
: This document is a reference for the Simple Darwin Core standard.
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
: John Wieczorek (MVZ), Markus Döring (GBIF), Renato De Giovanni (CRIA), Tim Robertson (GBIF), Dave Vieglais (KUNHM)
|
||||||
|
|
||||||
|
Creator
|
||||||
|
: Darwin Core Task Group
|
||||||
|
|
||||||
|
Bibliographic citation
|
||||||
|
: Darwin Core Task Group. 2009. Simple Darwin Core. Biodiversity Information Standards (TDWG). <http://rs.tdwg.org/dwc/terms/simple/>
|
||||||
|
|
||||||
|
## 1 Introduction
|
||||||
|
|
||||||
Simple Darwin Core is a predefined subset of the terms that have common use across a wide variety of biodiversity applications. The terms used in Simple Darwin Core are those that are found at the cross-section of taxonomic names, places, and events that document biological occurrences on the planet. The two driving principles are simplicity and flexibility.
|
Simple Darwin Core is a predefined subset of the terms that have common use across a wide variety of biodiversity applications. The terms used in Simple Darwin Core are those that are found at the cross-section of taxonomic names, places, and events that document biological occurrences on the planet. The two driving principles are simplicity and flexibility.
|
||||||
|
|
||||||
### 1.2 What makes it simple?
|
### 1.1 Status of the content of this document
|
||||||
|
|
||||||
Simple Darwin Core is simple in that it assumes (and allows) no structure beyond the concept of rows and columns, which might be thought of as attributes and their values, or fields and records. The words field and record will be used throughout the rest of the document to refer to the two dimensions of Simple Darwin Core structure. Think of the term names as the field names. In other words, a Simple Darwin Core record could be captured in a spreadsheet or in a single database table.
|
All sections of this document are normative, except for examples, which are explicitly marked as non-normative.
|
||||||
|
|
||||||
### 1.3 What makes it flexible?
|
## 2 Audience
|
||||||
|
|
||||||
|
This document is targeted toward those who want to share biodiversity information using the simplest methods and structure: Simple Darwin Core. It explains the uses and limitations of this structure and how to expand upon it.
|
||||||
|
|
||||||
|
## 3 What makes it simple?
|
||||||
|
|
||||||
|
Simple Darwin Core is simple in that it assumes (and allows) no structure beyond the concept of rows and columns, which might be thought of as attributes and their values, or fields and records. The words field and record will be used throughout the rest of the document to refer to the two dimensions of the Simple Darwin Core structure. Think of the term names as the field names. In other words, a Simple Darwin Core record could be captured in a spreadsheet or in a single database table.
|
||||||
|
|
||||||
|
## 4 What makes it flexible?
|
||||||
|
|
||||||
Simple Darwin Core has minimal restrictions on which fields are required (none). You might argue that there should be more required fields, that there isn't anything useful you can do without them. That is partially true. A record with no fields in it wouldn't be very interesting, but there is a difference between requiring that there be a field in a record and requiring that a particular field be in all records. By having no required field restriction, Simple Darwin Core can be used to share any meaningful combination of fields - for example, to share "just names", or "just places", or observations of individuals detected in the wild at a given place and time following a method (an occurrence). This flexibility promotes the reuse of the terms and sharing mechanisms for a wide variety of services.
|
Simple Darwin Core has minimal restrictions on which fields are required (none). You might argue that there should be more required fields, that there isn't anything useful you can do without them. That is partially true. A record with no fields in it wouldn't be very interesting, but there is a difference between requiring that there be a field in a record and requiring that a particular field be in all records. By having no required field restriction, Simple Darwin Core can be used to share any meaningful combination of fields - for example, to share "just names", or "just places", or observations of individuals detected in the wild at a given place and time following a method (an occurrence). This flexibility promotes the reuse of the terms and sharing mechanisms for a wide variety of services.
|
||||||
|
|
||||||
### 1.4 Are there any rules?
|
## 5 Are there any rules?
|
||||||
|
|
||||||
There are just a few general guiding principles on how to make the best use of Simple Darwin Core:
|
There are just a few general guiding principles on how to make the best use of Simple Darwin Core:
|
||||||
|
|
||||||
1. Any Darwin Core term name can be used as a field name.
|
1. Any Darwin Core term name can be used as a field name.
|
||||||
2. No field name may be repeated in a record.
|
2. No field name may be repeated in a record.
|
||||||
3. Do not use a `Class` ([`Occurrence`](http://rs.tdwg.org/dwc/terms/Occurrence), [`Organism`](http://rs.tdwg.org/dwc/terms/Organism), [`MaterialSample`](http://rs.tdwg.org/dwc/terms/MaterialSample), [`LivingSpecimen`](http://rs.tdwg.org/dwc/terms/LivingSpecimen), [`PreservedSpecimen`](http://rs.tdwg.org/dwc/terms/PreservedSpecimen), [`FossilSpecimen`](http://rs.tdwg.org/dwc/terms/FossilSpecimen), [`Event`](http://rs.tdwg.org/dwc/terms/Event), [`HumanObservation`](http://rs.tdwg.org/dwc/terms/HumanObservation), [`MachineObservation`](http://rs.tdwg.org/dwc/terms/MachineObservation), [`Location`](http://rs.tdwg.org/dwc/terms/Location), [`GeologicalContext`](http://rs.tdwg.org/dwc/terms/GeologicalContext), [`Identification`](http://rs.tdwg.org/dwc/terms/Identification), [`Taxon`](http://rs.tdwg.org/dwc/terms/Taxon)) as a field.
|
3. Do not use a _Class_ ([`Occurrence`](http://rs.tdwg.org/dwc/terms/Occurrence), [`Organism`](http://rs.tdwg.org/dwc/terms/Organism), [`MaterialSample`](http://rs.tdwg.org/dwc/terms/MaterialSample), [`LivingSpecimen`](http://rs.tdwg.org/dwc/terms/LivingSpecimen), [`PreservedSpecimen`](http://rs.tdwg.org/dwc/terms/PreservedSpecimen), [`FossilSpecimen`](http://rs.tdwg.org/dwc/terms/FossilSpecimen), [`Event`](http://rs.tdwg.org/dwc/terms/Event), [`HumanObservation`](http://rs.tdwg.org/dwc/terms/HumanObservation), [`MachineObservation`](http://rs.tdwg.org/dwc/terms/MachineObservation), [`Location`](http://rs.tdwg.org/dwc/terms/Location), [`GeologicalContext`](http://rs.tdwg.org/dwc/terms/GeologicalContext), [`Identification`](http://rs.tdwg.org/dwc/terms/Identification), [`Taxon`](http://rs.tdwg.org/dwc/terms/Taxon)) as a field.
|
||||||
4. Provide data in as many fields as you can.
|
4. Provide data in as many fields as you can.
|
||||||
5. Use the [`type`](http://rs.tdwg.org/dwc/terms/type) field to provide the name of the what Dublin Core type class (`PhysicalObject`, `StillImage`, `MovingImage`, `Sound`, `Text`) the record represents.
|
5. Use the [`dcterms:type`](http://rs.tdwg.org/dwc/terms/dcterms:type) field to provide the name of the what Dublin Core type class (`PhysicalObject`, `StillImage`, `MovingImage`, `Sound`, `Text`) the record represents.
|
||||||
6. Use the [`basisOfRecord`](http://rs.tdwg.org/dwc/terms/basisOfRecord) field to provide the name of the most specific Darwin Core class (`LivingSpecimen`, `PreservedSpecimen`, `FossilSpecimen`, `MaterialSample`, `HumanObservation`, `MachineObservation`, `Event`, `Occurrence`, `Taxon`, `Identification`, `Organism`, `Location`, `GeologicalContext`, `MeasurementOrFact`, `ResourceRelationship`) the record represents.
|
6. Use the [`basisOfRecord`](http://rs.tdwg.org/dwc/terms/basisOfRecord) field to provide the name of the most specific Darwin Core class (`LivingSpecimen`, `PreservedSpecimen`, `FossilSpecimen`, `MaterialSample`, `HumanObservation`, `MachineObservation`, `Event`, `Occurrence`, `Taxon`, `Identification`, `Organism`, `Location`, `GeologicalContext`, `MeasurementOrFact`, `ResourceRelationship`) the record represents.
|
||||||
7. Populate fields with data that match the definition of the field.
|
7. Populate fields with data that match the definition of the field.
|
||||||
8. Use the controlled vocabulary for the values of fields that recommend them.
|
8. Use the controlled vocabulary for the values of fields that recommend them.
|
||||||
|
@ -33,19 +72,23 @@ Every field in Simple Darwin Core may appear either once or not at all in a sing
|
||||||
|
|
||||||
There is a difference between having data in a field and requiring that field to have a value from among a legal set of values. Darwin Core is simple in that it has minimal restrictions on the contents of fields. The term comments give recommendations about the use of controlled vocabularies and how to structure content wherever appropriate. Data contributors are encouraged to follow these recommendations as well as possible. You might argue that having no restrictions will promote "dirty" data (data of low quality or dubious value). Consider the simple axiom "It's not what you have, but what you do with it that matters." If data restrictions were in place at the fundamental level, then a record having any non-compliant data in any of its fields could not be shared via the standard. Not only would there be a dearth of shared data in that case (or an unused standard), but also there would be no way to use the standard to build shared data cleaning tools to actually improve the situation, nor to use data services to look up alternative representations (language translations, for example) to serve a broader audience. The rest is up to how the records will be used - in other words, it is up to applications to enforce further restrictions if appropriate, and it is up to the stakeholders of those applications to decide what the restrictions will be for the purpose the application is trying to serve.
|
There is a difference between having data in a field and requiring that field to have a value from among a legal set of values. Darwin Core is simple in that it has minimal restrictions on the contents of fields. The term comments give recommendations about the use of controlled vocabularies and how to structure content wherever appropriate. Data contributors are encouraged to follow these recommendations as well as possible. You might argue that having no restrictions will promote "dirty" data (data of low quality or dubious value). Consider the simple axiom "It's not what you have, but what you do with it that matters." If data restrictions were in place at the fundamental level, then a record having any non-compliant data in any of its fields could not be shared via the standard. Not only would there be a dearth of shared data in that case (or an unused standard), but also there would be no way to use the standard to build shared data cleaning tools to actually improve the situation, nor to use data services to look up alternative representations (language translations, for example) to serve a broader audience. The rest is up to how the records will be used - in other words, it is up to applications to enforce further restrictions if appropriate, and it is up to the stakeholders of those applications to decide what the restrictions will be for the purpose the application is trying to serve.
|
||||||
|
|
||||||
### 1.5 How do I use Simple Darwin Core?
|
## 6 How do I use Simple Darwin Core?
|
||||||
|
|
||||||
Darwin Core is simple in that data "complying with" Simple Darwin Core can be easily shared in a variety of ways, including, but not limited to, text files and XML documents.
|
Darwin Core is simple in that data "complying with" Simple Darwin Core can be easily shared in a variety of ways, including, but not limited to, text files and xml documents. Equivalent ways of sharing the same data are described in the sections [Simple Darwin Core as Text](#61-simple-darwin-core-as-text) and [Simple Darwin Core as XML](#62-simple-darwin-core-as-xml).
|
||||||
|
|
||||||
What you need to do as a contributor of data via Simple Darwin Core depends on the requirements of the ones who are going to consume those data. For example, if you have a collaborator who wants to share data via Simple Darwin Core, then it may be sufficient to create a spreadsheet that contains column headers matching as many of the Darwin Core term names as you are both interested in sharing - just to be sure you both understand the meaning of the fields you share, and therefore hopefully something about their content. You might create a table in a database using Simple Darwin Core as a model (if it met all of your needs), and then connect that database with services for sharing via the web. You might use that same database (or spreadsheet) to export a comma-separated value (CSV) file for upload into a hosted service that could serve the data on your behalf. Or you might use that same file to upload into a service that would allow you to add value (such as a georeference) or quality (with a data cleaning tool), or to see your data in the context of other shared data.
|
What you need to do as a contributor of data via Simple Darwin Core depends on the requirements of the ones who are going to consume those data. For example, if you have a collaborator who wants to share data via Simple Darwin Core, then it may be sufficient to create a spreadsheet that contains column headers matching as many of the Darwin Core term names as you are both interested in sharing - just to be sure you both understand the meaning of the fields you share, and therefore hopefully something about their content. You might create a table in a database using Simple Darwin Core as a model (if it met all of your needs), and then connect that database with services for sharing via the web. You might use that same database (or spreadsheet) to export a comma-separated value (CSV) file for upload into a hosted service that could serve the data on your behalf. Or you might use that same file to upload into a service that would allow you to add value (such as a georeference) or quality (with a data cleaning tool), or to see your data in the context of other shared data.
|
||||||
|
|
||||||
#### 1.5.1 Simple Darwin Core as text
|
### 6.1 Simple Darwin Core as text
|
||||||
|
|
||||||
The [Text guide](../text/index.md) describes how to construct and format a text file using a simplified subset of the [Fielded Text](http://www.fieldedtext.org/)] specification, which allows the contributor to describe the contents of a text file, or set of text files (related or not) through a separate configuration file (called a metafile). The metafile allows the contributor to communicate the structure of the content of the file or files and any relationships between them. Though it is good practice to describe a Simple Darwin Core file with such a metafile, it isn't strictly necessary if the file follows the CSV file specification and the first line of the file contains the field names. A `Fielded Text` metafile for any text file based on Simple Darwin Core can be created by customizing the [example metafile](../text/example_text_simpledwc_complete.xml), which includes references to all Darwin Core terms. Refer to the comments in the file itself as well as the metafile specification in the [Text guide](../text/index.md) for more information.
|
The [Text guide](../text/) describes how to construct and format a text file using a simplified subset of the [Fielded Text](http://www.fieldedtext.org/) specification, which allows the contributor to describe the contents of a text file, or set of text files (related or not) through a separate configuration file (called a metafile). The metafile allows the contributor to communicate the structure of the content of the file or files and any relationships between them. Though it is good practice to describe a Simple Darwin Core file with such a metafile, it isn't strictly necessary if the file follows the CSV file specification and the first line of the file contains the field names. A `Fielded Text` metafile for any text file based on Simple Darwin Core can be created by customizing the [example metafile](../text/example_text_simpledwc_complete.xml), which includes references to all Darwin Core terms. Refer to the comments in the file itself as well as the metafile specification in the [Text guide](../text/) for more information.
|
||||||
|
|
||||||
#### 1.5.2 Simple Darwin Core as XML
|
### 6.2 Simple Darwin Core as XML
|
||||||
|
|
||||||
The [XML guide](../xml/index.md) describes how to construct XML schemas to share data based on Darwin Core terms. Looking at the [Simple Darwin Core XML Schema](../xml/tdwg_dwc_simple.xsd)] using the XML guide as a reference you will be able to see that the schema supports the notion of a `SimpleDarwinRecord`, which is just a grouping of up to one of each of the Darwin Core terms that are `Properties` (not `Classes`). The following example shows a `SimpleDarwinRecordSet` containing one `SimpleDarwinRecord` for a `Taxon`:
|
The [XML guide](../xml/) describes how to construct XML schemas to share data based on Darwin Core terms. Looking at the [Simple Darwin Core XML Schema](../xml/tdwg_dwc_simple.xsd) using the XML guide as a reference you will be able to see that the schema supports the notion of a `SimpleDarwinRecord`, which is just a grouping of up to one of each of the Darwin Core terms that are `Properties` (not `Classes`).
|
||||||
|
|
||||||
|
#### 6.2.1 Example of Simple Darwin Core as XML (non-normative)
|
||||||
|
|
||||||
|
The following example shows a `SimpleDarwinRecordSet` containing one `SimpleDarwinRecord` for a `Taxon`:
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
@ -88,16 +131,20 @@ The [XML guide](../xml/index.md) describes how to construct XML schemas to share
|
||||||
</SimpleDarwinRecordSet>
|
</SimpleDarwinRecordSet>
|
||||||
```
|
```
|
||||||
|
|
||||||
The `SimpleDarwinRecord` acts as a `Class` in implementation, because all of the terms are properties of it. Tge Simple Darwin Core schema has just one other level of structure, the `SimpleDarwinRecordSet`, which is a grouping of one or more `SimpleDarwinRecords`. The `SimpleDarwinRecordSet` acts as a `Class` to define a data set during implementation.
|
The `SimpleDarwinRecord` acts as a `Class` in implementation, because all of the terms are properties of it. The Simple Darwin Core schema has just one other level of structure, the `SimpleDarwinRecordSet`, which is a grouping of one or more `SimpleDarwinRecords`. The `SimpleDarwinRecordSet` acts as a `Class` to define a data set during implementation.
|
||||||
|
|
||||||
### 1.6 Doing more with Simple Darwin Core
|
## 7 Doing more with Simple Darwin Core
|
||||||
|
|
||||||
Sooner or later you may want to share more information than Simple Darwin Core seems to allow. For example, you and your colleagues might decide that it would be useful to have a standard way to exchange additional information relevant to questions in Conservation. How would you do it?
|
Sooner or later you may want to share more information than Simple Darwin Core seems to allow. For example, you and your colleagues might decide that it would be useful to have a standard way to exchange additional information relevant to questions in Conservation. How would you do it?
|
||||||
|
|
||||||
One way would be to try to "overload" existing terms by using them to hold information other than what was intended based on the definition of the terms. Please don't do this. If an existing term has close to the same meaning as one you want to use, but just doesn't quite fit because of the way the definition is worded, it would be better to request an amendment to the term definition so that it will be clear for your community how to use it. You can request such a change by submitting an issue in the [Darwin Core repository](https://github.com/tdwg/dwc).
|
One way would be to try to "overload" existing terms by using them to hold information other than what was intended based on the definition of the terms. Please don't do this. If an existing term has close to the same meaning as one you want to use, but just doesn't quite fit because of the way the definition is worded, it would be better to request an amendment to the term definition so that it will be clear for your community how to use it. You can request such a change by submitting an issue in the [Darwin Core repository](https://github.com/tdwg/dwc).
|
||||||
|
|
||||||
|
### 7.1 Structured content using dynamicProperties
|
||||||
|
|
||||||
Another way to get more out of Darwin Core without adding a term is to "payload" the [`dynamicProperties`](http://rs.tdwg.org/dwc/terms/dynamicProperties) term with structured content, as shown in the example below, using Javascript Open Notation (JSON). This is perfectly legal, since it doesn't compromise the meaning of the term. One of the weaknesses of payloading data in this way is that it is subject to a lack of stable or well-defined semantics. Also, it is highly recommended to flatten the content into a single string with no non-printing characters (such as line feeds) to facilitate use in the widest variety of data sharing contexts. Still, this might be a reasonable way to at least allow you to share all of your data, even if there might be problems with people using it reliably.
|
Another way to get more out of Darwin Core without adding a term is to "payload" the [`dynamicProperties`](http://rs.tdwg.org/dwc/terms/dynamicProperties) term with structured content, as shown in the example below, using Javascript Open Notation (JSON). This is perfectly legal, since it doesn't compromise the meaning of the term. One of the weaknesses of payloading data in this way is that it is subject to a lack of stable or well-defined semantics. Also, it is highly recommended to flatten the content into a single string with no non-printing characters (such as line feeds) to facilitate use in the widest variety of data sharing contexts. Still, this might be a reasonable way to at least allow you to share all of your data, even if there might be problems with people using it reliably.
|
||||||
|
|
||||||
|
#### 7.1.1 Example of structured JSON content within XML (non-normative)
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<SimpleDarwinRecordSet
|
<SimpleDarwinRecordSet
|
||||||
|
@ -131,11 +178,14 @@ Another way to get more out of Darwin Core without adding a term is to "payload"
|
||||||
</SimpleDarwinRecordSet>
|
</SimpleDarwinRecordSet>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 7.2 Extending Darwin Core by adding terms
|
||||||
|
|
||||||
If you were using just CSV text files to exchange information, then you might be tempted to just add the new fields to the files. This approach suffers most of the same problems as payloading - no one aside from those with whom you communicated would know what those new fields were or how to use them. Sharing in this way via XML would be an even bigger problem, because the [Simple Darwin Core XML Schema](../xml/tdwg_dwc_simple.xsd) defines the terms that it supports and the new fields would not correspond with any terms understood by the schema. In other words, the XML with your fields in it would not be a valid Simple Darwin Core XML document.
|
If you were using just CSV text files to exchange information, then you might be tempted to just add the new fields to the files. This approach suffers most of the same problems as payloading - no one aside from those with whom you communicated would know what those new fields were or how to use them. Sharing in this way via XML would be an even bigger problem, because the [Simple Darwin Core XML Schema](../xml/tdwg_dwc_simple.xsd) defines the terms that it supports and the new fields would not correspond with any terms understood by the schema. In other words, the XML with your fields in it would not be a valid Simple Darwin Core XML document.
|
||||||
|
|
||||||
So, if you really need to extend the capabilities of Darwin Core, the best first step is to follow the standards process to add the terms you need. See the [Contributing guide](https://github.com/tdwg/dwc/blob/master/.github/CONTRIBUTING.md) to understand how to suggest a new term.
|
So, if you really need to extend the capabilities of Darwin Core, the best first step is to follow the standards process to add the terms you need. See the [Contributing guide](https://github.com/tdwg/dwc/blob/master/.github/CONTRIBUTING.md) to understand how to suggest a new term.
|
||||||
|
|
||||||
### 1.7 Going beyond Simple Darwin Core
|
## 8 Going beyond Simple Darwin Core
|
||||||
|
|
||||||
For cases where rich data require rich (non-simple) structure, Simple Darwin Core alone is not suitable. When sharing information via [Fielded Text](http://www.fieldedtext.org/), the solution is to use Simple Darwin Core as a core record with one or more associated extensions for the additional information. See the [Text guide](../text/index.md) for an explanation and examples. When sharing information via [XML](http://www.w3.org/XML/), a richer structure such as the Access to Biological Collections Data schema ([ABCD](https://github.com/tdwg/abcd)), or the [Generic Darwin Core](../xml/tdwg_dwcterms.xsd), or another schema built from Darwin Core terms to suit the use of the data in a particular context. See the [XML guide](../xml/index.md) for examples and references to model schemas.
|
For cases where rich data require rich (non-simple) structure, Simple Darwin Core alone is not suitable. When sharing information via [Fielded Text](http://www.fieldedtext.org/), the solution is to use Simple Darwin Core as a core record with one or more associated extensions for the additional information. See the [Text guide](../text/) for an explanation and examples.
|
||||||
olution is to use the _Simple Darwin Core_ as a core record with one or more associated extensions for the additional information. See the _Darwin Core Text Guide_ [[TEXTGUIDE](guides/text/index.html)] for an explanation and examples. When sharing information via XML [[XML](http://www.w3.org/XML/)], a richer structure such as the _Access to Biological Collections Data_ schema [[ABCD](http://www.tdwg.org/schemas/abcd/2.06)], or the _Generic Darwin Core_ [[GENERICXMLSCHEMA](guides/xml/tdwg_dwcterms.xsd)], or another schema built from the Darwin Core terms to suit the use of the data in a particular context. See the _Darwin Core XML Guide_ [[XMLGUIDE](guides/xml/index.html)] for examples and references to model schemas.
|
|
||||||
|
When sharing information via [XML](http://www.w3.org/XML/), a richer structure such as the Access to Biological Collections Data schema ([ABCD](https://github.com/tdwg/abcd)), or the [Generic Darwin Core](../xml/tdwg_dwcterms.xsd), or another schema built from Darwin Core terms to suit the use of the data in a particular context. See the [XML guide](../xml/) for examples and references to model schemas.
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
@ -0,0 +1,230 @@
|
||||||
|
# Darwin Core text guide
|
||||||
|
|
||||||
|
Title
|
||||||
|
: Darwin Core text guide
|
||||||
|
|
||||||
|
Date version issued
|
||||||
|
: 2015-06-02
|
||||||
|
|
||||||
|
Date created
|
||||||
|
: 2009-02-12
|
||||||
|
|
||||||
|
Part of TDWG Standard
|
||||||
|
: <http://www.tdwg.org/standards/450/>
|
||||||
|
|
||||||
|
This version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/text/2014-11-08>
|
||||||
|
|
||||||
|
Latest version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/text/>
|
||||||
|
|
||||||
|
Previous version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/text/2009-12-07>
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
: Guidelines for implementing Darwin Core in Text files.
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
: Tim Robertson (GBIF), Markus Döring (GBIF), John Wieczorek (MVZ), Renato De Giovanni (CRIA), Dave Vieglais (KUNHM)
|
||||||
|
|
||||||
|
Creator
|
||||||
|
: Darwin Core Task Group
|
||||||
|
|
||||||
|
Bibliographic citation
|
||||||
|
: Darwin Core Task Group. 2009. Darwin Core text guide. Biodiversity Information Standards (TDWG). <http://rs.tdwg.org/dwc/terms/guides/text/>
|
||||||
|
|
||||||
|
## 1 Introduction
|
||||||
|
|
||||||
|
This document provides guidelines for formatting and sharing [Darwin Core terms](http://rs.tdwg.org/dwc/terms) in _fielded text_ formats, such as one or more comma separated value (CSV) files. Data conforming to the [Simple Darwin Core](../simple/) (CSV format and having the first row include Darwin Core standard term names) can be shared in a single file, while a non-standard text file can be understood using an [XML](http://www.w3.org/XML/) metafile to describe its contents and formatting.
|
||||||
|
|
||||||
|
![Usage](usage.png)
|
||||||
|
|
||||||
|
More complex structure can be shared in multiple related files. The description of content and relationships between files can be achieved using the metafile. This guideline makes recommendations for the simple case of a _core_ file, upon which Darwin Core _records_ are based, and _extensions_ that are linked to records in that core file. Specifically, extension records have a _many-to-one_ relationship with records in the core file. For example, a core file might contain specimen records, with one specimen per row in the file, while an extension file contains one or more identifications for those specimens, with one identification per row in the extension file, and with an identifier to the specimen for each identification row. This example would allow many identifications to be associated with each specimen.
|
||||||
|
|
||||||
|
### 1.1 Status of the content of this document
|
||||||
|
|
||||||
|
All sections of this document are normative, except for examples, whose sections are marked as non-normative.
|
||||||
|
|
||||||
|
### 1.2 Simple example metafile content (non-normative)
|
||||||
|
|
||||||
|
A simple comma separated values (CSV) data file with the following content:
|
||||||
|
|
||||||
|
```csv
|
||||||
|
ID,Species,Count
|
||||||
|
123,"Cryptantha gypsophila Reveal & C.R. Broome",12
|
||||||
|
124,"Buxbaumia piperi",2
|
||||||
|
```
|
||||||
|
|
||||||
|
can be described with the following Darwin Core metafile:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<archive xmlns="http://rs.tdwg.org/dwc/text/"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/text/ http://rs.tdwg.org/dwc/text/tdwg_dwc_text.xsd">
|
||||||
|
<core rowType="http://rs.tdwg.org/dwc/xsd/simpledarwincore/SimpleDarwinRecord" ignoreHeaderLines="1">
|
||||||
|
<files>
|
||||||
|
<location>http://data.gbif.org/download/specimens.csv</location>
|
||||||
|
</files>
|
||||||
|
<field index="0" term="http://rs.tdwg.org/dwc/terms/catalogNumber" />
|
||||||
|
<field index="1" term="http://rs.tdwg.org/dwc/terms/scientificName" />
|
||||||
|
<field index="2" term="http://rs.tdwg.org/dwc/terms/individualCount" />
|
||||||
|
<!-- A constant value has no index, but applies to all rows -->
|
||||||
|
<field term="http://rs.tdwg.org/dwc/terms/datasetID" default="urn:lsid:tim.lsid.tdwg.org:collections:1"/>
|
||||||
|
</core>
|
||||||
|
</archive>
|
||||||
|
```
|
||||||
|
|
||||||
|
These same data could be understood without the metafile if the first row of the CSV file contained the term names:
|
||||||
|
|
||||||
|
```csv
|
||||||
|
type,institutionCode,collectionCode,catalogNumber,scientificName,individualCount,datasetID
|
||||||
|
PhysicalObject,ANSP,PH,123,"Cryptantha gypsophila Reveal & C.R. Broome",12,urn:lsid:tim.lsid.tdwg.org:collections:1
|
||||||
|
PhysicalObject,ANSP,PH,124,"Buxbaumia piperi",2,urn:lsid:tim.lsid.tdwg.org:collections:1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 1.3 XML versus fielded text
|
||||||
|
|
||||||
|
Many resources exist on the web describing the advantages of Extensible Markup Language [XML](http://www.w3.org/XML/) over less structured content such as _fielded text_. The Darwin Core text guide (this document) is not meant to promote the use of fielded text over XML for data exchange, but rather to provide recommendations for how to handle such data files when necessary.
|
||||||
|
|
||||||
|
Two scenarios that might benefit from the use of fielded text are:
|
||||||
|
|
||||||
|
- The transfer of large numbers of Darwin Core records and related data from one database to another. Typically databases are very efficient at exporting and importing comma separated text files.
|
||||||
|
- The description of legacy data existing in a fielded text format, such that it might be automatically understood and loaded into another system. It could be that this system would then serve the data in another format such as XML.
|
||||||
|
|
||||||
|
## 2 Metafile content
|
||||||
|
|
||||||
|
The [text metafile schema](tdwg_dwc_text.xsd) provides technical details for the structure of a metafile by defining the elements and attributes required to describe the contents and relationships between text files. These elements and attributes, with descriptions and specifications for their use in a metafile, are described in the following table.
|
||||||
|
|
||||||
|
### 2.1 The `<archive>` element
|
||||||
|
|
||||||
|
The `<archive>` element is the container for the list of related files (one core and zero or more extensions). The `<archive>` element has just one attribute, `metadata`.
|
||||||
|
|
||||||
|
#### 2.1.1 Attributes
|
||||||
|
|
||||||
|
Attribute | Description | Required | Default
|
||||||
|
--- | --- | --- | ---
|
||||||
|
`metadata` | Contains a qualified Uniform Resource Locator (URL) defining the location of a metadata description of the entire archive. The format of the metadata is not prescribed, but a standardized format such as Ecological Metadata Language (EML), Federal Geographic Data Committee (FGDC), or ISO 19115 family is recommended. | no |
|
||||||
|
|
||||||
|
#### 2.1.2 Elements
|
||||||
|
|
||||||
|
Element | Description
|
||||||
|
--- | ---
|
||||||
|
`<core>` | An `<archive>` must contain exactly one `<core>` element, representing the data entity (the actual file and its column header mappings to Darwin Core terms) upon which records are based. If extensions are being used, each record in the core data must have a unique identifier. The field for this identifier must be specified in an explicit `<id>` field in order to associate extension records with the core record.
|
||||||
|
`<extension>` | An `<archive>` may define zero or more `<extension>` elements, each representing an individual extension entity directly related to the core. In addition to the general file attributes described below, every extension entity must have an explicit `<coreId>` field to relate the extension record to a row in the core entity. The extension itself does not have to have a unique ID field and many rows can point to the same core record.
|
||||||
|
|
||||||
|
### 2.2 The `<core>` or `<extension>` element
|
||||||
|
|
||||||
|
#### 2.2.1 Attributes
|
||||||
|
|
||||||
|
Attribute | Description | Required | Default
|
||||||
|
--- | --- | --- | ---
|
||||||
|
`rowType` | A Unified Resource Identifier (URI) for the term identifying the class of data represented by each row, for example, <http://rs.tdwg.org/dwc/terms/Occurrence> for Occurrence records or <http://rs.tdwg.org/dwc/terms/Taxon> for Taxon records. Additional classes may be referenced by URI and defined outside the Darwin Core specification. The row type is required. For convenience the URIs for classes defined by the Darwin Core are: `Occurrence`: <http://rs.tdwg.org/dwc/terms/Occurrence>, `Event`: <http://rs.tdwg.org/dwc/terms/Event>, `Location`: <http://purl.org/dc/terms/Location>, `GeologicalContext`: <http://purl.org/dc/terms/GeologicalContext>, `Identification`: <http://rs.tdwg.org/dwc/terms/Identification>, `Taxon`: <http://rs.tdwg.org/dwc/terms/Taxon>, `ResourceRelationship`: <http://rs.tdwg.org/dwc/terms/ResourceRelationship>, `MeasurementOrFact`: <http://rs.tdwg.org/dwc/terms/MeasurementOrFact> | yes |
|
||||||
|
`fieldsTerminatedBy` | Specifies the delimiter between fields. Typical values might be `,` or `\t` for CSV or Tab files respectively. | no | `,`
|
||||||
|
`linesTerminatedBy` | Specifies the row separator character. | no | `\n`
|
||||||
|
`fieldsEnclosedBy` | Specifies the character used to enclose (mark the start and end of) each field. CSV files frequently use the double quote character (`"`), but the default is no enclosing character. Note that a comma separated value file that has commas within the content of any field must have an enclosing character. | no | `"`
|
||||||
|
`encoding` | Specifies the [character encoding](http://en.wikipedia.org/wiki/Character_encoding) for the data file. The encoding is extremely important, but often ignored. The most frequently used encodings are: `UTF-8`: 8-bit Unicode Transformation Format, `UTF-16`: 16-bit Unicode Transformation Format, `ISO-8859-1`: commonly known as "Latin-1" and a common default on systems configured for a single western European language, `Windows-1252`: commonly known as "WinLatin" and a common default of legacy versions of Microsoft Windows based operating systems. | no | `UTF-8`
|
||||||
|
`ignoreHeaderLines` | Specifies the number lines to ignore from the beginning of the file. This can be used to ignore files with column headings or preamble comments for example. | no | `0`
|
||||||
|
`dateFormat` | When verbatim dates are consistent in format, this field can be used to indicate the format represented. It is recommended to use the date, dateTime and time for field formats wherever possible, but where verbatim dates are required, a format may be specified here. This should be considered a 'hint' for consumers. It is recommended that consumers support the minimum combinations of `DD` `MM` and `YYYY` with the separators `/` and `-`. Examples: `DDMMYYYY`: for dates of the form 21121978, `DD-MM-YYYY`: for dates of the form 21-12-1978, `MMDDYYYY`: for dates of the form 12211978, `MM-DD-YYYY`: for dates of the form 12-21-1978, `YYYYMMDD`: for dates of the form 19781221. | no | `YYYY-MM-DD`
|
||||||
|
|
||||||
|
#### 2.2.2 Elements
|
||||||
|
|
||||||
|
Element | Description
|
||||||
|
--- | ---
|
||||||
|
`<files>` | `<core>` or `<extension>` element must contain one `<files>` element to locate the data being described.
|
||||||
|
`<id>` | If extensions are being used, the `<core>` must contain an <id> element that indicates the identifier for a record.
|
||||||
|
`<coreId>` | If extensions are being used, the `<extension>` element must contain a `<coreId>` element that indicates the column in the extension file that contains the core record identifier (the matching `<id>` in the core file).
|
||||||
|
`<field>` | A `<core>` or `<extension>` element must contain one or more <field> elements, each representing a 'column' in the row.
|
||||||
|
|
||||||
|
### 2.3 `<files>` element
|
||||||
|
|
||||||
|
The files element must contain one or more <location> elements, each defining where a file resides. Each core or extension entity can be composed from one or more files. If an entity has data in more than one file, use the `<location>` element multiple times, once for each file that makes up the entity.
|
||||||
|
|
||||||
|
#### 2.3.1 Elements
|
||||||
|
|
||||||
|
Element | Description
|
||||||
|
--- | ---
|
||||||
|
`<location>` | Specifies the location of the file being described, which may take either of the following forms: 1) a web accessible URL such as `http://www.gbif.org/data/specimen.csv` or `ftp://ftp.gbif.org/tim/specimen.txt`, 2) a filepath relative to the location of the metafile such as `specimen.txt`, `./specimen.txt`, `data/specimen.txt`.
|
||||||
|
|
||||||
|
### 2.4 The `<field>` element
|
||||||
|
|
||||||
|
The field element is used to specify the location and content of data within a file. There must be one field element for every term being shared for the entity, whether explicitly or through the use of a default value for all rows in the file.
|
||||||
|
|
||||||
|
#### 2.4.1 Attributes
|
||||||
|
|
||||||
|
Attribute | Description | Required | Default
|
||||||
|
--- | --- | --- | ---
|
||||||
|
`index` | Specifies the position of the column in the row. The first column has an index of 0, the second column 1, etc. If no column index is specified, then the term and the default may be used to define a constant value for all rows. | no |
|
||||||
|
`term` | A Unified Resource Identifier (URI) for the term represented by this field. For example, a field containing the scientific name would have `term="http://rs.tdwg.org/dwc/terms/scientificName"`. Terms outside of the Darwin Core specification may be used, such as those from the Dublin Core Metadata Initative, for example, `dcterms:modified` would be `term="http://purl.org/dc/terms/modified"`. | yes |
|
||||||
|
`default` | Specifies value to use if one is not supplied for the field in a given row. If no index is supplied, the default can be used to define a constant for all rows for a field that is not in the data file. | no |
|
||||||
|
`vocabulary` | A Unified Resource Identifier (URI) for a vocabulary that the source values for this field are based on. The URI ideally should resolve to some machine readable definition like SKOS, RDF or at least some simple text or html file often found for ISO or RFC standards. For example <http://rs.gbif.org/vocabulary/gbif/nomenclatural_code.xml>, <http://www.ietf.org/rfc/rfc3066.txt> or <http://www.iso.org/iso/list-en1-semic-3.txt>. | no |
|
||||||
|
|
||||||
|
## 3 Implementation guide
|
||||||
|
|
||||||
|
### 3.1 Extension example (non-normative)
|
||||||
|
|
||||||
|
The following example illustrates the use of extensions. In this example there are three files in the archive, all of which are located in the same directory as the metafile. The whales.txt file acts as a core file of Taxon records. The whales.txt file is extended by two other files, types.txt and distribution.txt. The types.txt file contains records of a type specified in an external definition at <http://http://rs.gbif.org/terms/1.0/Types> and consists of Dublin Core and Darwin Core terms, while the distribution.txt file contains records of a type specified at <http://http://rs.gbif.org/terms/1.0/Distribution> and consists of Darwin Core terms plus an additional term for threatStatus. Both extension files are related to the core file by the taxonNameID fields. Presumably, this archive contains information about whale species, type specimen records for those species, and lists of countries and the threat status for those species.
|
||||||
|
|
||||||
|
![Extension](extension.png)
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<archive xmlns="http://rs.tdwg.org/dwc/text/"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/text/ http://rs.tdwg.org/dwc/text/tdwg_dwc_text.xsd">
|
||||||
|
|
||||||
|
<core encoding="UTF-8" fieldsTerminatedBy="\t" linesTerminatedBy="\n" ignoreHeaderLines="1" rowType="http://rs.tdwg.org/dwc/terms/Taxon">
|
||||||
|
<files>
|
||||||
|
<location>whales.txt</location>
|
||||||
|
</files>
|
||||||
|
<id index="0" />
|
||||||
|
<field index="0" term="http://rs.tdwg.org/dwc/terms/taxonID" />
|
||||||
|
<field index="1" term="http://purl.org/dc/terms/modified" />
|
||||||
|
<field index="2" term="http://rs.tdwg.org/dwc/terms/scientificName"/>
|
||||||
|
<field index="3" term="http://rs.tdwg.org/dwc/terms/acceptedNameUsageID"/>
|
||||||
|
<field index="4" term="http://rs.tdwg.org/dwc/terms/parentNameUsageID"/>
|
||||||
|
<field index="5" term="http://rs.tdwg.org/dwc/terms/originalNameUsageID"/>
|
||||||
|
</core>
|
||||||
|
|
||||||
|
<extension encoding="UTF-8" fieldsTerminatedBy="," linesTerminatedBy="\n" fieldsEnclosedBy='"' ignoreHeaderLines="1" rowType="http://rs.gbif.org/terms/1.0/Types">
|
||||||
|
<files>
|
||||||
|
<location>types.csv</location>
|
||||||
|
</files>
|
||||||
|
<coreId index="0" />
|
||||||
|
<field index="1" term="http://purl.org/dc/terms/bibliographicCitation"/>
|
||||||
|
<field index="2" term="http://rs.tdwg.org/dwc/terms/catalogNumber"/>
|
||||||
|
<field index="3" term="http://rs.tdwg.org/dwc/terms/collectionCode"/>
|
||||||
|
<field index="4" term="http://rs.tdwg.org/dwc/terms/institutionCode"/>
|
||||||
|
<field index="5" term="http://rs.tdwg.org/dwc/terms/typeStatus"/>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension encoding="UTF-8" fieldsTerminatedBy="," linesTerminatedBy="\n" fieldsEnclosedBy='"' ignoreHeaderLines="1" rowType="http://rs.gbif.org/terms/1.0/Distribution">
|
||||||
|
<files>
|
||||||
|
<location>distribution.csv</location>
|
||||||
|
</files>
|
||||||
|
<coreId index="0" />
|
||||||
|
<field index="1" term="http://rs.tdwg.org/dwc/terms/countryCode"/>
|
||||||
|
<field index="2" term="http://rs.gbif.org/terms/1.0/threatStatus"/>
|
||||||
|
<field index="3" term="http://rs.tdwg.org/dwc/terms/occurrenceStatus"/>
|
||||||
|
</extension>
|
||||||
|
</archive>
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4 Database example (non-normative)
|
||||||
|
|
||||||
|
### 4.1 MySQL
|
||||||
|
|
||||||
|
It is very easy to produce fielded text using the `SELECT INTO` outfile command from MySQL. The encoding of the resulting file will depend on the server variables and collations used, and might need to be modified before the operation is done. Note that MySQL will export `NULL` values as `\N` by default. Use the `IFNULL()` function as shown in the following example to avoid this.
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SELECT
|
||||||
|
IFNULL(id, ''), IFNULL(scientific_name, ''), IFNULL(count,'')
|
||||||
|
INTO outfile '/tmp/dwc.txt'
|
||||||
|
FIELDS TERMINATED BY ','
|
||||||
|
OPTIONALLY ENCLOSED BY '"'
|
||||||
|
LINES TERMINATED BY '\n'
|
||||||
|
FROM
|
||||||
|
dwc;
|
||||||
|
```
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
@ -0,0 +1,336 @@
|
||||||
|
# Darwin Core XML guide
|
||||||
|
|
||||||
|
Title
|
||||||
|
: Darwin Core XML guide
|
||||||
|
|
||||||
|
Date version issued
|
||||||
|
: 2015-06-02
|
||||||
|
|
||||||
|
Date created
|
||||||
|
: 2009-02-12
|
||||||
|
|
||||||
|
Part of TDWG Standard
|
||||||
|
: <http://www.tdwg.org/standards/450/>
|
||||||
|
|
||||||
|
This version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/xml/2014-11-08>
|
||||||
|
|
||||||
|
Latest version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/xml/>
|
||||||
|
|
||||||
|
Previous version
|
||||||
|
: <http://rs.tdwg.org/dwc/terms/guides/xml/2010-05-23>
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
: Guidelines for the implementation of Darwin Core in XML.
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
: John Wieczorek (MVZ), Markus Döring (GBIF), Renato De Giovanni (CRIA), Tim Robertson (GBIF), Dave Vieglais (KUNHM)
|
||||||
|
|
||||||
|
Creator
|
||||||
|
: Darwin Core Task Group
|
||||||
|
|
||||||
|
Bibliographic citation
|
||||||
|
: Darwin Core Task Group. 2009. Darwin Core XML guide. Biodiversity Information Standards (TDWG). <http://rs.tdwg.org/dwc/terms/guides/xml/>
|
||||||
|
|
||||||
|
## 1 Introduction
|
||||||
|
|
||||||
|
This document provides guidelines for implementing application schemas based on [Darwin Core terms](../../terms/) using [XML](http://www.w3.org/XML/). The underlying metadata model is described (in a syntax neutral way), followed by some specific guidelines for XML implementations. Some guidance on the use of non-Darwin Core terms is also provided.
|
||||||
|
|
||||||
|
This document does not provide guidelines for encoding Darwin Core in RDF/XML. Nor does it take a position on the relative merits of encoding metadata in "plain" XML rather than RDF/XML. This document provides guidelines in those cases where RDF/XML is not considered appropriate.
|
||||||
|
|
||||||
|
### 1.1 Status of the content of this document
|
||||||
|
|
||||||
|
All sections of this document are normative, except for sections that are explicitly marked as non-normative.
|
||||||
|
|
||||||
|
### 1.2 Audience
|
||||||
|
|
||||||
|
This document is targeted toward those who wish to use or construct application schemas using Darwin Core terms in XML. It includes explanations of existing schemas such as [Simple Darwin Core](../simple/) and how to build new schemas to meet specific models of information.
|
||||||
|
|
||||||
|
## 2 Implementation guide
|
||||||
|
|
||||||
|
### 2.1 XML schema
|
||||||
|
|
||||||
|
Implementors should base their XML applications on [XML Schemas](http://www.w3.org/XML/Schema) rather than _XML DTDs_. Approaches based on _XML Schemas_ are more flexible and are more easily re-used within other XML applications.
|
||||||
|
|
||||||
|
### 2.2 XML namespaces
|
||||||
|
|
||||||
|
Implementors should use [XML Namespaces](http://www.w3.org/TR/1999/REC-xml-names-19990114/) to uniquely identify elements. Darwin Core namespaces are defined in the [Darwin Core Namespace Policy](../../namespace/), while Dublin Core namespaces are defined in the [DCMI Namespace Recommendation](http://dublincore.org/documents/dcmi-namespace/).
|
||||||
|
|
||||||
|
### 2.3 Abstract model
|
||||||
|
|
||||||
|
The Darwin Core follows the [Dublin Core Metadata Initiative Abstract Model](http://dublincore.org/documents/abstract-model/) except that the Darwin Core _record_ is roughly equivalent to the Dublin Core _resource_.
|
||||||
|
|
||||||
|
- Darwin Core terms are either `classes` or `properties`.
|
||||||
|
- Each `property` has at most one `class` as its domain (describes no more than one `class`).
|
||||||
|
- A `Darwin Core record` is made up of zero or more `classes` and one or more `properties` with their associated `values`.
|
||||||
|
- Each `value` is a literal string.
|
||||||
|
- The `values` of `properties` within a `Darwin Core record` describe that record.
|
||||||
|
- A `Darwin Core record` must include all required `properties`, if any, and their associated `values`.
|
||||||
|
|
||||||
|
### 2.4 Properties and values
|
||||||
|
|
||||||
|
Darwin Core follows the guidelines for expressing [Dublin Core metadata using XML](http://dublincore.org/documents/dc-xml/) except in that Darwin Core implementors should encode `properties` as XML elements and `values` as the content of those elements instead of having each property contain a value representation and its associated value. The name of the XML element should be an XML qualified name (QName), which associates the value given in the `Term name` attribute in the [Darwin Core Terms](../../terms/) recommendation with the appropriate namespace name. For example, use:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||||
|
targetNamespace="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/">
|
||||||
|
...
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
```
|
||||||
|
|
||||||
|
rather than:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<dwc:basisOfRecord value="HumanObservation"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.5 Null values
|
||||||
|
|
||||||
|
Elements for which the value is null should be omitted from the document or explicitly coded using the attribute `xsi:nil="true"`.
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<dwc:locality xsi:nil="true"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
Do not use an empty string - an element with no content:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<dwc:locality></dwc:locality>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.6 Simple Darwin Core
|
||||||
|
|
||||||
|
[Simple Darwin Core](tdwg_dwc_simple.xsd) most closely models the "flat" nature of many data sets. It is a ready-made schema for sharing information with no structure beyond properties of a _record_ (equivalent to fields in a table, or columns in a spreadsheet). It is meant to accommodate all properties except those that require further structure to be meaningful (auxilliary terms in the classes [ResourceRelationship](http://rs.tdwg.org/dwc/terms/ResourceRelationship) and [MeasurementOrFact](http://rs.tdwg.org/dwc/terms/MeasurementOrFact). The schema has no required terms and no term is repeated within a given _record_. Refer to [Simple Darwin Core](../simple/) for the rationale behind this schema.
|
||||||
|
|
||||||
|
The term [`dcterms:type`](http://rs.tdwg.org/dwc/terms/dcterms:type) (which is controlled by the [Dublin Core Type Vocabulary](http://dublincore.org/documents/dcmi-type-vocabulary/)), gives the basic category of object (`PhysicalObject`, `StillImage`, `MovingImage`, `Sound`, `Text`) the record is about. The term [`basisOfRecord`](http://rs.tdwg.org/dwc/terms/basisOfRecord), which has a controlled vocabulary distinct from that of `dcterms:type`, shows the name of the Darwin Core class (e.g., [`LivingSpecimen`](http://rs.tdwg.org/dwc/terms/LivingSpecimen), [`PreservedSpecimen`](http://rs.tdwg.org/dwc/terms/PreservedSpecimen), [`FossilSpecimen`](http://rs.tdwg.org/dwc/terms/FossilSpecimen), [`HumanObservation`](http://rs.tdwg.org/dwc/terms/HumanObservation), [`MachineObservation`](http://rs.tdwg.org/dwc/terms/MachineObservation), [`Taxon`](http://rs.tdwg.org/dwc/terms/Taxon)) the record is about.
|
||||||
|
|
||||||
|
#### 2.6.1 Simple Darwin Core example (non-normative)
|
||||||
|
|
||||||
|
Following is a brief example of an XML document for a single specimen complying with the [Simple Darwin Core Schema](tdwg_dwc_simple.xsd)]. The [Simple Darwin Core XML example document](example_simple.xml) (if this link shows a blank page in your browser, use the View Source option to see the XML document) shows detail for a single record having a more complete set of elements.
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<dwr:SimpleDarwinRecordSet
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/xsd/simpledarwincore/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_simple.xsd"
|
||||||
|
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwr="http://rs.tdwg.org/dwc/xsd/simpledarwincore/">
|
||||||
|
<dwr:SimpleDarwinRecord>
|
||||||
|
<dcterms:type>PhysicalObject</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
||||||
|
<dcterms:rightsHolder>Museum of Vertebrate Zoology</dcterms:rightsHolder>
|
||||||
|
<dcterms:rights>Creative Commons License</dcterms:rights>
|
||||||
|
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
||||||
|
<dwc:country>Argentina</dwc:country>
|
||||||
|
<dwc:countryCode>AR</dwc:countryCode>
|
||||||
|
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
||||||
|
<dwc:locality>25 km al NNE de Bariloche por Ruta 40 (=237)</dwc:locality>
|
||||||
|
</dwr:SimpleDarwinRecord>
|
||||||
|
</dwr:SimpleDarwinRecordSet>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.7 Classes and containment
|
||||||
|
|
||||||
|
Many Darwin Core terms (`properties`) are defined as being associated with another term (a `class`). For example, [`scientificName`](http://rs.tdwg.org/dwc/terms/scientificName) and [`Taxon`](http://rs.tdwg.org/dwc/terms/Taxon) are both Darwin Core terms, but `scientificName` is a property associated with the `Taxon` class. When constructing schemas that take advantage of classes in structures, implementors are encouraged to maintain the property/class relationships defined by the terms whenever possible (refer to the `Class` attribute of the term as given in the [Quick Reference Guide](../../terms/) or the attribute `dwcattributes:organizedInClass` in the term declaration in the [`dcterms.rdf`](../rdf/dcterms.rdf) file. To promote reuse, Darwin Core provides a set of xml schemas to use as the basis of additional schemas:
|
||||||
|
|
||||||
|
- [Terms XML Schema](tdwg_dwcterms.xsd) - property term definitions as typed global elements and named groups for all terms for a given class to be referenced. The schema makes use of substitution groups `anyClass`, `anyProperty`, `anyIdentifier` and `anyXYZTerm` for each class, e.g. `anyTaxonTerm`. This is the schema upon which the [Simple Darwin Core XML Schema](tdwg_dwc_simple.xsd) is based.
|
||||||
|
- [Class Terms XML Schema](tdwg_dwc_class_terms.xsd) - class term definitions as typed global elements with subelements referencing all corresponding property terms via their substitution group.
|
||||||
|
|
||||||
|
It is encouraged to use classes in a normalized way to avoid deep nesting. A [Darwin Core Tools and Applications page](https://github.com/tdwg/dwc-documentation/blob/master/documentation/resources.md) has been created as an index to example schemas for the purpose of community discussions and development. An [XML schema](tdwg_dwc_classes.xsd) is provided to freely mix any Darwin Core Class in a global list and allow them to reference each other using the respective class identifier terms.
|
||||||
|
|
||||||
|
#### 2.7.1 Normalized classes examples (non-normative)
|
||||||
|
|
||||||
|
Following is an example of using normalized classes to represent two related specimen occurrences (one of which has had a second identification) at one location following this class-based schema. Note that you can reuse the location definition here by referring to it via locationID:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<dwr:DarwinRecordSet
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/dwcrecord/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_classes.xsd"
|
||||||
|
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwr="http://rs.tdwg.org/dwc/dwcrecord/">
|
||||||
|
<dcterms:Location>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
<dwc:country>Argentina</dwc:country>
|
||||||
|
<dwc:countryCode>AR</dwc:countryCode>
|
||||||
|
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
||||||
|
<dwc:locality>25 km al NNE de Bariloche por Ruta 40 (=237)</dwc:locality>
|
||||||
|
</dcterms:Location>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dcterms:type>PhysicalObject</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
||||||
|
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Identification>
|
||||||
|
<dwc:identificationID>http://guid.mvz.org/identifications/23459</dwc:identificationID>
|
||||||
|
<dwc:identifiedBy>Richard Sage</dwc:identifiedBy>
|
||||||
|
<dwc:dateIdentified>2000</dwc:dateIdentified>
|
||||||
|
<dwc:identificationQualifier>sp.</dwc:identificationQualifier>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Identification>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:scientificName>Ctenomys</dwc:scientificName>
|
||||||
|
<dwc:taxonRank>genus</dwc:taxonRank>
|
||||||
|
<dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode>
|
||||||
|
<dwc:genus>Ctenomys</dwc:genus>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Identification>
|
||||||
|
<dwc:identificationID>http://guid.mvz.org/identifications/94752</dwc:identificationID>
|
||||||
|
<dwc:identifiedBy>James L Patton</dwc:identifiedBy>
|
||||||
|
<dwc:dateIdentified>2001-09-14</dwc:dateIdentified>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Identification>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:parentNameUsageID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:parentNameUsageID>
|
||||||
|
<dwc:scientificName>Ctenomys sociabilis</dwc:scientificName>
|
||||||
|
<dwc:scientificNameAuthorship>Pearson and Christie, 1985</dwc:scientificNameAuthorship>
|
||||||
|
<dwc:taxonRank>species</dwc:taxonRank>
|
||||||
|
<dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode>
|
||||||
|
<dwc:higherClassification>Animalia; Chordata; Vertebrata; Mammalia; Theria; Eutheria; Rodentia; Hystricognatha; Hystricognathi; Ctenomyidae; Ctenomyini; Ctenomys</dwc:higherClassification>
|
||||||
|
<dwc:kingdom>Animalia</dwc:kingdom>
|
||||||
|
<dwc:phylum>Chordata</dwc:phylum>
|
||||||
|
<dwc:class>Mammalia</dwc:class>
|
||||||
|
<dwc:order>Rodentia</dwc:order>
|
||||||
|
<dwc:family>Ctenomyidae</dwc:family>
|
||||||
|
<dwc:genus>Ctenomys</dwc:genus>
|
||||||
|
<dwc:specificEpithet>sociabilis</dwc:specificEpithet>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dcterms:type>PhysicalObject</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
||||||
|
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14524</dwc:occurrenceID>
|
||||||
|
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Identification>
|
||||||
|
<dwc:identificationID>http://guid.mvz.org/identifications/94753</dwc:identificationID>
|
||||||
|
<dwc:identifiedBy>James L Patton</dwc:identifiedBy>
|
||||||
|
<dwc:dateIdentified>2001-09-14</dwc:dateIdentified>
|
||||||
|
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14524</dwc:occurrenceID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Identification>
|
||||||
|
<dwc:ResourceRelationship>
|
||||||
|
<dwc:resourceRelationshipID>http://guid.mvz.org/relations/23423</dwc:resourceRelationshipID>
|
||||||
|
<dwc:resourceID>urn:catalog:MVZ:Mammals:14523</dwc:resourceID>
|
||||||
|
<dwc:relatedResourceID>urn:catalog:MVZ:Mammals:14524</dwc:relatedResourceID>
|
||||||
|
<dwc:relationshipOfResource>offspring of</dwc:relationshipOfResource>
|
||||||
|
</dwc:ResourceRelationship>
|
||||||
|
<dwc:ResourceRelationship>
|
||||||
|
<dwc:resourceRelationshipID>http://guid.mvz.org/relations/23424</dwc:resourceRelationshipID>
|
||||||
|
<dwc:resourceID>urn:catalog:MVZ:Mammals:14524</dwc:resourceID>
|
||||||
|
<dwc:relatedResourceID>urn:catalog:MVZ:Mammals:14523</dwc:relatedResourceID>
|
||||||
|
<dwc:relationshipOfResource>mother of</dwc:relationshipOfResource>
|
||||||
|
</dwc:ResourceRelationship>
|
||||||
|
</dwr:DarwinRecordSet>
|
||||||
|
```
|
||||||
|
|
||||||
|
Here is different example demonstrating area count observations for events on two different days at one location. Note that we omit the identification class here as there is not identification related data and link via the `taxonID` directly:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<dwr:DarwinRecordSet
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rs.tdwg.org/dwc/dwcrecord/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_classes.xsd"
|
||||||
|
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||||
|
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
||||||
|
xmlns:dwr="http://rs.tdwg.org/dwc/dwcrecord/">
|
||||||
|
<dcterms:Location>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
<dwc:country>Argentina</dwc:country>
|
||||||
|
<dwc:countryCode>AR</dwc:countryCode>
|
||||||
|
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
||||||
|
<dwc:locality>Valle Limay, Estancia Rincon Grande, 48 ha area with centroid at this point</dwc:locality>
|
||||||
|
<dwc:decimalLatitude>-40.97467</dwc:decimalLatitude>
|
||||||
|
<dwc:decimalLongitude>-71.0734</dwc:decimalLongitude>
|
||||||
|
<dwc:geodeticDatum>WGS84</dwc:geodeticDatum>
|
||||||
|
<dwc:coordinateUncertaintyInMeters>200</dwc:coordinateUncertaintyInMeters>
|
||||||
|
</dcterms:Location>
|
||||||
|
<dwc:Event>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
||||||
|
<dwc:samplingProtocol>area count</dwc:samplingProtocol>
|
||||||
|
<dwc:eventDate>2006-11-26</dwc:eventDate>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Event>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515288</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>2</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:scientificName>Anthus hellmayri Hartert, 1909</dwc:scientificName>
|
||||||
|
<dwc:class>Aves</dwc:class>
|
||||||
|
<dwc:genus>Anthus</dwc:genus>
|
||||||
|
<dwc:specificEpithet>hellmayri</dwc:specificEpithet>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515286</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>1</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000e838-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Taxon>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000e838-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
<dwc:scientificName>Anthus correndera Vieillot, 1818</dwc:scientificName>
|
||||||
|
<dwc:class>Aves</dwc:class>
|
||||||
|
<dwc:genus>Anthus</dwc:genus>
|
||||||
|
<dwc:specificEpithet>correndera</dwc:specificEpithet>
|
||||||
|
</dwc:Taxon>
|
||||||
|
<dwc:Event>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
||||||
|
<dwc:samplingProtocol>area count</dwc:samplingProtocol>
|
||||||
|
<dwc:eventDate>2006-11-27</dwc:eventDate>
|
||||||
|
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
||||||
|
</dwc:Event>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515333</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>1</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
<dwc:Occurrence>
|
||||||
|
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515331</dwc:occurrenceID>
|
||||||
|
<dcterms:type>Event</dcterms:type>
|
||||||
|
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
||||||
|
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
||||||
|
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
||||||
|
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
||||||
|
<dwc:individualCount>2</dwc:individualCount>
|
||||||
|
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
||||||
|
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
||||||
|
</dwc:Occurrence>
|
||||||
|
</dwr:DarwinRecordSet>
|
||||||
|
```
|
Before Width: | Height: | Size: 1.4 KiB |
|
@ -1,316 +0,0 @@
|
||||||
/* JS */ gapi.loaded_0(function(_){var window=this;
|
|
||||||
var ia,la;_.b=function(a){return function(){return _.aa[a].apply(this,arguments)}};_._DumpException=function(a){throw a;};_.aa=[];_.na=_.na||{};_.D=this;_.kf=function(a){return void 0!==a};
|
|
||||||
_.da=function(a){var c=typeof a;if("object"==c)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return c;var f=Object.prototype.toString.call(a);if("[object Window]"==f)return"object";if("[object Array]"==f||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==f||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
|
|
||||||
else if("function"==c&&"undefined"==typeof a.call)return"object";return c};_.ea=function(a){return"array"==_.da(a)};_.fa=function(a){return"string"==typeof a};_.oa="closure_uid_"+(1E9*Math.random()>>>0);ia=function(a,c,f){return a.call.apply(a.bind,arguments)};
|
|
||||||
la=function(a,c,f){if(!a)throw Error();if(2<arguments.length){var g=Array.prototype.slice.call(arguments,2);return function(){var f=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(f,g);return a.apply(c,f)}}return function(){return a.apply(c,arguments)}};_.H=function(a,c,f){_.H=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ia:la;return _.H.apply(null,arguments)};
|
|
||||||
_.ma=function(a,c){var f=Array.prototype.slice.call(arguments,1);return function(){var c=f.slice();c.push.apply(c,arguments);return a.apply(this,c)}};_.pa=Date.now||function(){return+new Date};_.J=function(a,c){function f(){}f.prototype=c.prototype;a.T=c.prototype;a.prototype=new f;a.prototype.constructor=a;a.yc=function(a,f,l){for(var n=Array(arguments.length-2),q=2;q<arguments.length;q++)n[q-2]=arguments[q];return c.prototype[f].apply(a,n)}};
|
|
||||||
_.ra=window.gadgets||{};_.L=window.osapi=window.osapi||{};_.google=window.google||{};
|
|
||||||
window.___jsl=window.___jsl||{};
|
|
||||||
(window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"explicit"},appsapi:{plus_one_service:"/plus/v1"},client:{jsonpOverride:!1,rms:"migrated"},csi:{rate:.01},poshare:{hangoutContactPickerServer:"https://plus.google.com"},gappsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1},appsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:!1},
|
|
||||||
"oauth-flow":{authUrl:"https://accounts.google.com/o/oauth2/auth",proxyUrl:"https://accounts.google.com/o/oauth2/postmessageRelay",redirectUri:"postmessage"},iframes:{sharebox:{params:{json:"&"},url:":socialhost:/:session_prefix:_/sharebox/dialog"},plus:{url:":socialhost:/:session_prefix:_/widget/render/badge?usegapi=1"},":socialhost:":"https://apis.google.com",":im_socialhost:":"https://plus.googleapis.com",domains_suggest:{url:"https://domains.google.com/suggest/flow"},card:{params:{s:"#",userid:"&"},
|
|
||||||
url:":socialhost:/:session_prefix:_/hovercard/internalcard"},":signuphost:":"https://plus.google.com",":gplus_url:":"https://plus.google.com",plusone:{url:":socialhost:/:session_prefix:_/+1/fastbutton?usegapi=1"},plus_share:{url:":socialhost:/:session_prefix:_/+1/sharebutton?plusShare=true&usegapi=1"},plus_circle:{url:":socialhost:/:session_prefix:_/widget/plus/circle?usegapi=1"},plus_followers:{url:":socialhost:/_/im/_/widget/render/plus/followers?usegapi=1"},configurator:{url:":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi=1"},
|
|
||||||
appcirclepicker:{url:":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},page:{url:":socialhost:/:session_prefix:_/widget/render/page?usegapi=1"},person:{url:":socialhost:/:session_prefix:_/widget/render/person?usegapi=1"},community:{url:":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi=1"},follow:{url:":socialhost:/:session_prefix:_/widget/render/follow?usegapi=1"},commentcount:{url:":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi=1"},comments:{url:":socialhost:/:session_prefix:_/widget/render/comments?usegapi=1"},
|
|
||||||
youtube:{url:":socialhost:/:session_prefix:_/widget/render/youtube?usegapi=1"},reportabuse:{url:":socialhost:/:session_prefix:_/widget/render/reportabuse?usegapi=1"},additnow:{url:":socialhost:/additnow/additnow.html"},udc_webconsentflow:{url:"https://myaccount.google.com/webconsent?usegapi=1"},":source:":"1p"},poclient:{update_session:"google.updateSessionCallback"},"googleapis.config":{methods:{"pos.plusones.list":!0,"pos.plusones.get":!0,"pos.plusones.insert":!0,"pos.plusones.delete":!0,"pos.plusones.getSignupState":!0},
|
|
||||||
requestCache:{enabled:!0},versions:{pos:"v1"},rpc:"/rpc",root:"https://content.googleapis.com","root-1p":"https://clients6.google.com",sessionCache:{enabled:!0},transport:{isProxyShared:!0},xd3:"/static/proxy.html",developerKey:"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ",auth:{useInterimAuth:!1}},report:{apis:["iframes\\..*","gadgets\\..*","gapi\\.appcirclepicker\\..*","gapi\\.client\\..*"],rate:1E-4}});
|
|
||||||
|
|
||||||
window.___jsl=window.___jsl||{};(window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"onload"},iframes:{":source:":"3p"},client:{rms:""}});
|
|
||||||
_.ba=function(a,c){return c};_.Mu=function(a,c){var f=a.split("."),g=_.D;f[0]in g||!g.execScript||g.execScript("var "+f[0]);for(var h;f.length&&(h=f.shift());)!f.length&&_.kf(c)?g[h]=c:g[h]?g=g[h]:g=g[h]={}};_.e=function(a,c){c=_.ba(a,c);_.Mu(a,c)};_.ta=window;_.ua=window.document;_.Ha=_.ta.location;_.Ia=/\[native code\]/;_.Ka=function(a,c,f){return a[c]=a[c]||f};_.r=function(){var a;if((a=Object.create)&&_.Ia.test(a))a=a(null);else{a={};for(var c in a)a[c]=void 0}return a};_.Qa=function(a,c){return Object.prototype.hasOwnProperty.call(a,c)};_.Sl=function(a,c){a=a||{};for(var f in a)_.Qa(a,f)&&(c[f]=a[f])};_.Sa=function(a,c){if(!a)throw Error(c||"");};_.Ua=_.Ka(_.ta,"gapi",{});
|
|
||||||
_.Wa=function(a,c,f){var g=new RegExp("([#].*&|[#])"+c+"=([^&#]*)","g");c=new RegExp("([?#].*&|[?#])"+c+"=([^&#]*)","g");if(a=a&&(g.exec(a)||c.exec(a)))try{f=(0,window.decodeURIComponent)(a[2])}catch(h){}return f};_.Za=function(a,c,f){_.Xa(a,c,f,"add","at")};_.Xa=function(a,c,f,g,h){if(a[g+"EventListener"])a[g+"EventListener"](c,f,!1);else if(a[h+"tachEvent"])a[h+"tachEvent"]("on"+c,f)};_.bb=_.Ka(_.ta,"___jsl",_.r());_.Ka(_.bb,"I",0);_.Ka(_.bb,"hel",10);var ya,za,Aa,Ba,Da,Ea;ya=function(a){var c=window.___jsl=window.___jsl||{};c[a]=c[a]||[];return c[a]};za=function(a){var c=window.___jsl=window.___jsl||{};c.cfg=!a&&c.cfg||{};return c.cfg};Aa=function(a){return"object"===typeof a&&/\[native code\]/.test(a.push)};Ba=function(a,c){if(c)for(var f in c)c.hasOwnProperty(f)&&(a[f]&&c[f]&&"object"===typeof a[f]&&"object"===typeof c[f]&&!Aa(a[f])&&!Aa(c[f])?Ba(a[f],c[f]):c[f]&&"object"===typeof c[f]?(a[f]=Aa(c[f])?[]:{},Ba(a[f],c[f])):a[f]=c[f])};
|
|
||||||
Da=function(a){if(a&&!/^\s+$/.test(a)){for(;0==a.charCodeAt(a.length-1);)a=a.substring(0,a.length-1);var c;try{c=window.JSON.parse(a)}catch(f){}if("object"===typeof c)return c;try{c=(new Function("return ("+a+"\n)"))()}catch(g){}if("object"===typeof c)return c;try{c=(new Function("return ({"+a+"\n})"))()}catch(h){}return"object"===typeof c?c:{}}};
|
|
||||||
Ea=function(a){za(!0);var c=window.___gcfg,f=ya("cu");if(c&&c!==window.___gu){var g={};Ba(g,c);f.push(g);window.___gu=c}var c=ya("cu"),h=window.document.scripts||window.document.getElementsByTagName("script")||[],g=[],l=[];l.push.apply(l,ya("us"));for(var n=0;n<h.length;++n)for(var q=h[n],t=0;t<l.length;++t)q.src&&0==q.src.indexOf(l[t])&&g.push(q);0==g.length&&0<h.length&&h[h.length-1].src&&g.push(h[h.length-1]);for(h=0;h<g.length;++h)g[h].getAttribute("gapi_processed")||(g[h].setAttribute("gapi_processed",
|
|
||||||
!0),(l=g[h])?(n=l.nodeType,l=3==n||4==n?l.nodeValue:l.textContent||l.innerText||l.innerHTML||""):l=void 0,(l=Da(l))&&c.push(l));a&&(g={},Ba(g,a),f.push(g));g=ya("cd");a=0;for(c=g.length;a<c;++a)Ba(za(),g[a]);g=ya("ci");a=0;for(c=g.length;a<c;++a)Ba(za(),g[a]);a=0;for(c=f.length;a<c;++a)Ba(za(),f[a])};_.P=function(a,c){if(!a)return za();for(var f=a.split("/"),g=za(),h=0,l=f.length;g&&"object"===typeof g&&h<l;++h)g=g[f[h]];return h===f.length&&void 0!==g?g:c}; _.Fa=function(a,c){var f=a;if("string"===typeof a){for(var g=f={},h=a.split("/"),l=0,n=h.length;l<n-1;++l)var q={},g=g[h[l]]=q;g[h[l]]=c}Ea(f)};
|
|
||||||
var Ga=function(){var a=window.__GOOGLEAPIS;a&&(a.googleapis&&!a["googleapis.config"]&&(a["googleapis.config"]=a.googleapis),_.Ka(_.bb,"ci",[]).push(a),window.__GOOGLEAPIS=void 0)};Ga&&Ga();Ea();_.e("gapi.config.get",_.P);_.e("gapi.config.update",_.Fa);
|
|
||||||
var ib,jb,Nb,sb,Fb,Hb,Kb,Na,Pa,Wb,Yb,qb,Ma,cc,Lc;_.cb=function(a){return!!a&&"object"===typeof a&&_.Ia.test(a.push)};_.eb=function(a,c,f){if(a){_.Sa(_.cb(a),"arrayForEach was called with a non array value");for(var g=0;g<a.length;g++)c.call(f,a[g],g)}};_.fb=function(a,c,f){if(a)if(_.cb(a))_.eb(a,c,f);else{_.Sa("object"===typeof a,"objectForEach was called with a non object value");f=f||a;for(var g in a)_.Qa(a,g)&&void 0!==a[g]&&c.call(f,a[g],g)}};
|
|
||||||
ib=function(a){a=a.sort();for(var c=[],f=void 0,g=0;g<a.length;g++){var h=a[g];h!=f&&c.push(h);f=h}return c};jb=function(){var a=[],c=_.bb.H;c&&_.fb(c,function(c){a.push.apply(a,c.L)});return ib(a)};_.kb=function(a){if(_.Ia.test(Object.keys))return Object.keys(a);var c=[],f;for(f in a)_.Qa(a,f)&&c.push(f);return c};Na={};Pa=0;Wb=_.r();Yb=_.r();qb=function(a){return"number"===typeof a&&a>Math.random()};
|
|
||||||
_.La=function(a){if("undefined"===typeof Nb){var c=_.P("report")||{},f=c.rate;Math.random();Hb=c.timeout||1E3;sb=c.host||"https://plus.google.com";Fb=c.path||"/_/widget/report";Nb=[];qb(f)&&(Nb=c.apis||[]);var c=c.apiRate||{},g;for(g in c)qb(c[g])&&Nb.push(g)}for(g=0;g<Nb.length;++g)if((new RegExp("^"+Nb[g]+"$")).test(a))return!0;return!1};Ma=function(a){delete Na[a]};
|
|
||||||
cc=function(){Kb&&(_.ta.clearTimeout(Kb),Kb=0);Kb=_.ta.setTimeout(function(){var a;a=window.document.location;a=a.protocol+"//"+a.host+a.pathname;var c=_.kb(Yb).join(":");a=[sb,Fb,"?api=",(0,window.encodeURIComponent)(c),"&url=",(0,window.encodeURIComponent)(a),"&loaded=",(0,window.encodeURIComponent)(jb().join(":"))].join("");Yb=_.r();var c=new window.Image,f=Pa++;Na[f]=c;c.onload=c.onerror=_.ma(Ma,f);c.src=a;Kb=0},Hb)};_.wc=function(a){Wb[a]||(Yb[a]=!0,Wb[a]=!0,cc())};Lc=_.ba; _.ba=function(a,c){var f=Lc(a,c);"function"===typeof c&&_.La(a)&&(f=function(f){_.wc(a);return c.apply(this,arguments)});return f};
|
|
||||||
|
|
||||||
_.e("gapi.plusone.render",_.pG);_.e("gapi.plusone.go",_.qG);
|
|
||||||
var Ed={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},Nd=function(a){var c,f,g;c=/[\"\\\x00-\x1f\x7f-\x9f]/g;if(void 0!==a){switch(typeof a){case "string":return c.test(a)?'"'+a.replace(c,function(a){var c=Ed[a];if(c)return c;c=a.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"':'"'+a+'"';case "number":return(0,window.isFinite)(a)?String(a):"null";case "boolean":case "null":return String(a);case "object":if(!a)return"null";c=[];if("number"===
|
|
||||||
typeof a.length&&!a.propertyIsEnumerable("length")){g=a.length;for(f=0;f<g;f+=1)c.push(Nd(a[f])||"null");return"["+c.join(",")+"]"}for(f in a)!/___$/.test(f)&&_.Qa(a,f)&&"string"===typeof f&&(g=Nd(a[f]))&&c.push(Nd(f)+":"+g);return"{"+c.join(",")+"}"}return""}},me=function(a){if(!a)return!1;if(/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/b-u]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))try{return eval("("+a+")")}catch(c){}return!1}, Qe=!1,af;try{Qe=!!window.JSON&&'["a"]'===window.JSON.stringify(["a"])&&"a"===window.JSON.parse('["a"]')[0]}catch(Ie){}af=function(a){try{return window.JSON.parse(a)}catch(c){return!1}};_.mf=Qe?window.JSON.stringify:Nd;_.of=Qe?af:me;
|
|
||||||
|
|
||||||
_.e("gadgets.json.stringify",_.mf);_.e("gadgets.json.parse",_.of);_.Wa(_.ta.location.href,"rpctoken")&&_.Za(_.ua,"unload",function(){});
|
|
||||||
_.Rb=window.gapi&&window.gapi.util||{};
|
|
||||||
_.Vo=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);/^[\w\-]*:\/\//.test(a)||(a=window.location.href);var c=a.substring(a.indexOf("://")+3),f=c.indexOf("/");-1!=f&&(c=c.substring(0,f));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a)throw Error("Pa");var f="",g=c.indexOf(":");if(-1!=g){var h=c.substring(g+1),c=c.substring(0,g);if("http"===a&&"80"!==h||"https"===a&&"443"!== h)f=":"+h}return a+"://"+c+f};
|
|
||||||
|
|
||||||
_.Rb.Pq=function(a){return _.Vo(a)};
|
|
||||||
_.Kd=window.console;_.kd=function(a){_.Kd&&_.Kd.log&&_.Kd.log(a)};_.ke=function(){};
|
|
||||||
_.R=_.R||{};
|
|
||||||
_.xd=function(a){for(var c=0;c<this.length;c++)if(this[c]===a)return c;return-1};_.Sc=function(a,c){var f=_.Ka(_.bb,"watt",_.r());_.Ka(f,a,c)};_.R=_.R||{};
|
|
||||||
(function(){var a=null;_.R.dc=function(c){var f="undefined"===typeof c;if(null!==a&&f)return a;var g={};c=c||window.location.href;var h=c.indexOf("?"),l=c.indexOf("#");c=(-1===l?c.substr(h+1):[c.substr(h+1,l-h-1),"&",c.substr(l+1)].join("")).split("&");for(var h=window.decodeURIComponent?window.decodeURIComponent:window.unescape,l=0,n=c.length;l<n;++l){var q=c[l].indexOf("=");if(-1!==q){var t=c[l].substring(0,q),q=c[l].substring(q+1),q=q.replace(/\+/g," ");try{g[t]=h(q)}catch(v){}}}f&&(a=g);return g}; _.R.dc()})();
|
|
||||||
_.e("gadgets.util.getUrlParameters",_.R.dc);
|
|
||||||
var jz=function(a){this.G=a;this.B=_.ta;this.qa=this.Ka;this.wc=/MSIE\s*[0-8](\D|$)/.test(window.navigator.userAgent);if(this.G.RE){this.B=this.G.kq(this.B,this.G.RE);a=this.B.document;var c=a.createElement("script");c.setAttribute("type","text/javascript");c.text="window.doPostMsg=function(w,s,o) {window.setTimeout(function(){w.postMessage(s,o);},0);};";a.body.appendChild(c);this.qa=this.B.doPostMsg}this.ha={};this.M={};a=(0,_.H)(this.Ld,this);_.Za(this.B,"message",a);_.Ka(_.bb,"RPMQ",[]).push(a);
|
|
||||||
this.B!=this.B.parent&&CC(this,this.B.parent,"{h:'"+(0,window.escape)(this.B.name)+"'}","*")},lz=function(a){var c=null;0===a.indexOf("{h:'")&&a.indexOf("'}")===a.length-2&&(c=(0,window.unescape)(a.substring(4,a.length-2)));return c},kz=function(a){if(!/^\s*{/.test(a))return!1;a=(0,_.of)(a);return null!==a&&"object"===typeof a&&!!a.g};
|
|
||||||
jz.prototype.Ld=function(a){var c=String(a.data);(0,_.ke)("gapi.rpc.receive("+Qz+"): "+(!c||512>=c.length?c:c.substr(0,512)+"... ("+c.length+" bytes)"));var f=0!==c.indexOf("!_");f||(c=c.substring(2));var g=kz(c);if(!f&&!g){if(!g&&(f=lz(c))){if(this.ha[f])this.ha[f]();else this.M[f]=1;return}var h=a.origin,l=this.G.zp;this.wc?_.ta.setTimeout(function(){l(c,h)},0):l(c,h)}};jz.prototype.sf=function(a,c){".."===a||this.M[a]?(c(),delete this.M[a]):this.ha[a]=c};
|
|
||||||
var CC=function(a,c,f,g){var h=kz(f)?"":"!_";(0,_.ke)("gapi.rpc.send("+Qz+"): "+(!f||512>=f.length?f:f.substr(0,512)+"... ("+f.length+" bytes)"));a.qa(c,h+f,g)};jz.prototype.Ka=function(a,c,f){a.postMessage(c,f)};jz.prototype.send=function(a,c,f){(a=this.G.kq(this.B,a))&&!a.closed&&CC(this,a,c,f)};
|
|
||||||
var Rz,Hz,pz,uz,Nz,Sz,Pz,Oz,Dl,Qz,Cz,Ez,mz,Gz,nz,oz,qz,rz,yz,xz,zz,Bz,Dz,Fz,tz,vz,Iz,Jz,Kz,Lz;Rz=0;Hz=[];pz={};uz={};Nz=_.R.dc;Sz=Nz();Pz=Sz.rpctoken;Oz=Sz.parent||_.ua.referrer;Dl=Sz.rly;Qz=Dl||(_.ta!==_.ta.top||_.ta.opener)&&_.ta.name||"..";Cz=null;Ez={};mz=function(){};Gz={send:mz,sf:mz};
|
|
||||||
nz=function(a,c){"/"==c.charAt(0)&&(c=c.substring(1),a=_.ta.top);for(var f=c.split("/");f.length;){var g;g=f.shift();"{"==g.charAt(0)&&"}"==g.charAt(g.length-1)&&(g=g.substring(1,g.length-1));if(".."===g)a=a==a.parent?a.opener:a.parent;else if(".."!==g&&a.frames[g]){if(a=a.frames[g],!("postMessage"in a))throw"Not a window";}else return null}return a};oz=function(a){return(a=pz[a])&&a.ve};
|
|
||||||
qz=function(a){if(a.f in{})return!1;var c=a.t,f=pz[a.r];a=a.origin;return f&&(f.ve===c||!f.ve&&!c)&&(a===f.origin||"*"===f.origin)};rz=function(a){var c=a.id.split("/"),f=c[c.length-1],g=a.origin;return function(a){var c=a.origin;return a.f==f&&(g==c||"*"==g)}};_.sz=function(a,c,f){a=tz(a);uz[a.name]={Ip:c,lf:a.lf,Us:f||qz};vz()};_.wz=function(a){delete uz[tz(a).name]};yz={};xz=function(a,c){var f=yz["_"+a];f&&f[1](this)&&f[0].call(this,c)};
|
|
||||||
zz=function(a){var c=a.c;if(!c)return mz;var f=a.r,g=a.g?"legacy__":"";return function(){var a=[].slice.call(arguments,0);a.unshift(f,g+"__cb",null,c);_.Az.apply(null,a)}};Bz=function(a){Cz=a};Dz=function(a){Ez[a]||(Ez[a]=_.ta.setTimeout(function(){Ez[a]=!1;Fz(a)},0))};Fz=function(a){var c=pz[a];if(c&&c.ready){var f=c.kj;for(c.kj=[];f.length;)Gz.send(a,(0,_.mf)(f.shift()),c.origin)}};tz=function(a){return 0===a.indexOf("legacy__")?{name:a.substring(8),lf:!0}:{name:a,lf:!1}};
|
|
||||||
vz=function(){for(var a=_.P("rpc/residenceSec")||60,c=(new Date).getTime()/1E3,f=0,g;g=Hz[f];++f){var h=g.qf;if(!h||0<a&&c-g.timestamp>a)Hz.splice(f,1),--f;else{var l=h.s,n=uz[l]||uz["*"];if(n)if(Hz.splice(f,1),--f,h.origin=g.origin,g=zz(h),h.callback=g,n.Us(h)){if("__cb"!==l&&!!n.lf!=!!h.g)break;h=n.Ip.apply(h,h.a);void 0!==h&&g(h)}else(0,_.ke)("gapi.rpc.rejected("+Qz+"): "+l)}}};Iz=function(a,c,f){Hz.push({qf:a,origin:c,timestamp:(new Date).getTime()/1E3});f||vz()};
|
|
||||||
Jz=function(a,c){var f=(0,_.of)(a);Iz(f,c,!1)};Kz=function(a){for(;a.length;)Iz(a.shift(),this.origin,!0);vz()};Lz=function(a){var c=!1;a=a.split("|");var f=a[0];0<=f.indexOf("/")&&(c=!0);return{id:f,origin:a[1]||"*",Ki:c}};
|
|
||||||
_.Mz=function(a,c,f,g){var h=Lz(a);g&&(_.ta.frames[h.id]=_.ta.frames[h.id]||g);a=h.id;if(!pz.hasOwnProperty(a)){f=f||null;g=h.origin;if(".."===a)g=_.Rb.Pq(Oz),f=f||Pz;else if(!h.Ki){var l=_.ua.getElementById(a);l&&(l=l.src,g=_.Rb.Pq(l),f=f||Nz(l).rpctoken)}"*"===h.origin&&g||(g=h.origin);pz[a]={ve:f,kj:[],origin:g,hs:c,xm:function(){var c=a;pz[c].ready=1;Fz(c)}};Gz.sf(a,pz[a].xm)}return pz[a].xm};
|
|
||||||
_.Az=function(a,c,f,g){a=a||"..";_.Mz(a);a=a.split("|",1)[0];var h=c,l=[].slice.call(arguments,3),n=f,q=Qz,t=Pz,v=pz[a],w=q,A=Lz(a);if(v&&".."!==a){if(A.Ki){if(!(t=pz[a].hs)){t=null;Cz?t=Cz.substring(1).split("/"):t=[Qz];for(var w=t.length-1,F=_.ta.parent;F!==_.ta.top;){var z=F.parent;if(!w--){for(var I=null,E=z.frames.length,K=0;K<E;++K)z.frames[K]==F&&(I=K);t.unshift("{"+I+"}")}F=z}t="/"+t.join("/")}w=t}else w=q="..";t=v.ve}n&&A?(v=qz,A.Ki&&(v=rz(A)),yz["_"+ ++Rz]=[n,v],A=Rz):A=null;l={s:h,f:q,
|
|
||||||
r:w,t:t,c:A,a:l};h=tz(h);l.s=h.name;l.g=h.lf;pz[a].kj.push(l);Dz(a)};if("function"===typeof _.ta.postMessage||"object"===typeof _.ta.postMessage)Gz=new jz({RE:Dl?"../"+Dl:null,zp:Jz,kq:nz,GP:Qz,$f:oz,$P:Bz}),_.sz("__cb",xz,function(){return!0}),_.sz("_processBatch",Kz,function(){return!0}),_.Mz("..");
|
|
||||||
|
|
||||||
_.Tc=_.Ka(_.bb,"rw",_.r());
|
|
||||||
var Uc=function(a,c){var f=_.Tc[a];f&&f.state<c&&(f.state=c)};var Vc=function(a){a=(a=_.Tc[a])?a.oid:void 0;if(a){var c=_.ua.getElementById(a);c&&c.parentNode.removeChild(c);delete _.Tc[a];Vc(a)}};_.bf=function(a){a=a.container;"string"===typeof a&&(a=window.document.getElementById(a));return a};_.gf=function(a){var c=a.clientWidth;return"position:absolute;top:-10000px;width:"+(c?c+"px":a.style.width||"300px")+";margin:0px;border-style:none;"};
|
|
||||||
_.hf=function(a,c){var f={},g=a.va(),h=c&&c.width,l=c&&c.height,n=c&&c.verticalAlign;n&&(f.verticalAlign=n);h||(h=g.width||a.width);l||(l=g.height||a.height);g.width=f.width=h;g.height=f.height=l;g=a.rb();h=a.Hh();Uc(h,2);a:{h=a.V();f=f||{};if(_.bb.oa){var q=g.id;if(q){l=(l=_.Tc[q])?l.state:void 0;if(1===l||4===l)break a;Vc(q)}}(l=h.nextSibling)&&l.getAttribute&&l.getAttribute("data-gapistub")&&(h.parentNode.removeChild(l),h.style.cssText="");var l=f.width,n=f.height,t=h.style;t.textIndent="0";t.margin=
|
|
||||||
"0";t.padding="0";t.background="transparent";t.borderStyle="none";t.cssFloat="none";t.styleFloat="none";t.lineHeight="normal";t.fontSize="1px";t.verticalAlign="baseline";h=h.style;h.display="inline-block";g=g.style;g.position="static";g.left=0;g.top=0;g.visibility="visible";l&&(h.width=g.width=l+"px");n&&(h.height=g.height=n+"px");f.verticalAlign&&(h.verticalAlign=f.verticalAlign);q&&Uc(q,3)}(q=c?c.title:null)&&a.rb().setAttribute("title",q)};_.jf=function(a){var c=a.V();c&&c.removeChild(a.rb())};
|
|
||||||
_.Ru=function(a){a.where=_.bf(a);var c=a.messageHandlers=a.messageHandlers||{},f=function(a){_.hf(this,a)};c._ready=f;c._renderstart=f;var g=a.onClose;a.onClose=function(a){g&&g.call(this,a);_.jf(this)};a.onCreate=function(a){a=a.rb();a.style.cssText=_.gf(a)}};
|
|
||||||
|
|
||||||
var bq=_.Rb=_.Rb||{};window.___jsl=window.___jsl||{};bq.xh={B:function(){return window.___jsl.bsh},Ok:function(){return window.___jsl.h},pj:function(a){window.___jsl.bsh=a},ys:function(a){window.___jsl.h=a}};
|
|
||||||
var uh,Bh;uh=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?\#]*)?\/u\/(\d)\//;Bh=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?\#]*)?\/b\/(\d{10,})\//;_.Dh=function(a){var c=_.P("googleapis.config/sessionIndex");null==c&&(c=window.__X_GOOG_AUTHUSER);if(null==c){var f=window.google;f&&(c=f.authuser)}null==c&&(a=a||window.location.href,c=_.Wa(a,"authuser")||null,null==c&&(c=(c=a.match(uh))?c[1]:null));return null==c?null:String(c)};
|
|
||||||
_.Rh=function(a){var c=_.P("googleapis.config/sessionDelegate");null==c&&(c=(a=(a||window.location.href).match(Bh))?a[1]:null);return null==c?null:String(c)};_.ci=function(a,c){var f=_.Dh(a)||c,g=_.Rh(a),h="";f&&(h+="u/"+f+"/");g&&(h+="b/"+g+"/");return h||null};
|
|
||||||
|
|
||||||
_.Ve=function(a){var c;if(c=_.P("enableMultilogin"))if(c=a("cookie_policy"))c=String(a("immediate")||""),a=String(a("prompt")||""),c=!("true"===c.toLowerCase()||"none"===a.toLowerCase());return c?!0:!1};
|
|
||||||
_.Xb=function(a,c,f){a=String(a);if(null!=(_.Wa(a,"authuser")||null)||null!=(_.Wa(a,"hd")||null))return a;c=_.Dh(c);if(f){var g=a,h=g.match(/^((https?:)?\/\/[^\/?#]*)?(\/[^\/?#]+)\/[0-9]+([\/][^?#]*)([?#].*)?$/);if(h&&h[0]){var l=h[1],n=h[4],q=h[5];h[3]=="/"+f&&(g=(l||"")+(n||"/")+(q||""))}if((h=g.match(/^(((https?:)?\/\/[^\/?#]*)([\/][^?#]*)?|([\/][^?#]*))([?#].*)?$/))&&h[0]){var l=h[2],t=h[4]||h[5],q=h[6];null!=c&&(g=(l||"")+"/"+f+"/"+(0,window.encodeURIComponent)(c)+(t||"/")+(q||""));return g}}null==
|
|
||||||
c?_.Ve(function(c){return _.Wa(a,c)||null})||(t=(0,window.encodeURIComponent)("authuser")+"=0"):t=c.match(/^([-a-z0-9]+[.])+[-a-z0-9]+$/)?[(0,window.encodeURIComponent)("authuser")+"=",(0,window.encodeURIComponent)(String(c)),"&"+(0,window.encodeURIComponent)("hd")+"=",(0,window.encodeURIComponent)(c)].join(""):["authuser=",(0,window.encodeURIComponent)(c)].join("");f=a.split("#");c=f[0].indexOf("?");0>c?f[0]=[f[0],"?",t].join(""):(g=[f[0]],c<f[0].length-1&&g.push("&"),g.push(t),f[0]=g.join("")); return g=f.join("#")};_.google.ko=_.Xb;_.google.mr=_.Dh;_.google.pP=_.Rh;_.google.qP=_.ci;
|
|
||||||
|
|
||||||
_.wb=function(){this.G=-1};
|
|
||||||
var xb=function(){this.G=-1;this.G=64;this.B=[];this.Ka=[];this.wc=[];this.M=[];this.M[0]=128;for(var a=1;a<this.G;++a)this.M[a]=0;this.qa=this.ha=0;this.reset()};_.J(xb,_.wb);xb.prototype.reset=function(){this.B[0]=1732584193;this.B[1]=4023233417;this.B[2]=2562383102;this.B[3]=271733878;this.B[4]=3285377520;this.qa=this.ha=0};
|
|
||||||
var tk=function(a,c,f){f||(f=0);var g=a.wc;if(_.fa(c))for(var h=0;16>h;h++)g[h]=c.charCodeAt(f)<<24|c.charCodeAt(f+1)<<16|c.charCodeAt(f+2)<<8|c.charCodeAt(f+3),f+=4;else for(h=0;16>h;h++)g[h]=c[f]<<24|c[f+1]<<16|c[f+2]<<8|c[f+3],f+=4;for(h=16;80>h;h++){var l=g[h-3]^g[h-8]^g[h-14]^g[h-16];g[h]=(l<<1|l>>>31)&4294967295}c=a.B[0];f=a.B[1];for(var n=a.B[2],q=a.B[3],t=a.B[4],v,h=0;80>h;h++)40>h?20>h?(l=q^f&(n^q),v=1518500249):(l=f^n^q,v=1859775393):60>h?(l=f&n|q&(f|n),v=2400959708):(l=f^n^q,v=3395469782),
|
|
||||||
l=(c<<5|c>>>27)+l+t+v+g[h]&4294967295,t=q,q=n,n=(f<<30|f>>>2)&4294967295,f=c,c=l;a.B[0]=a.B[0]+c&4294967295;a.B[1]=a.B[1]+f&4294967295;a.B[2]=a.B[2]+n&4294967295;a.B[3]=a.B[3]+q&4294967295;a.B[4]=a.B[4]+t&4294967295};
|
|
||||||
xb.prototype.update=function(a,c){if(null!=a){_.kf(c)||(c=a.length);for(var f=c-this.G,g=0,h=this.Ka,l=this.ha;g<c;){if(0==l)for(;g<=f;)tk(this,a,g),g+=this.G;if(_.fa(a))for(;g<c;){if(h[l]=a.charCodeAt(g),++l,++g,l==this.G){tk(this,h);l=0;break}}else for(;g<c;)if(h[l]=a[g],++l,++g,l==this.G){tk(this,h);l=0;break}}this.ha=l;this.qa+=c}};
|
|
||||||
xb.prototype.digest=function(){var a=[],c=8*this.qa;56>this.ha?this.update(this.M,56-this.ha):this.update(this.M,this.G-(this.ha-56));for(var f=this.G-1;56<=f;f--)this.Ka[f]=c&255,c/=256;tk(this,this.Ka);for(f=c=0;5>f;f++)for(var g=24;0<=g;g-=8)a[c]=this.B[f]>>g&255,++c;return a};
|
|
||||||
_.pi=function(){this.zx=new xb};_.k=_.pi.prototype;_.k.reset=function(){this.zx.reset()};_.k.AF=function(a){this.zx.update(a)};_.k.GC=function(){return this.zx.digest()};_.k.bB=function(a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var c=[],f=0,g=a.length;f<g;++f)c.push(a.charCodeAt(f));this.AF(c)};_.k.Of=function(){for(var a=this.GC(),c="",f=0;f<a.length;f++)c+="0123456789ABCDEF".charAt(Math.floor(a[f]/16))+"0123456789ABCDEF".charAt(a[f]%16);return c};
|
|
||||||
|
|
||||||
var Ib,Jb,Cb,Db,Ab,Bb,Gb,zb,Eb,Jb;_.Rl=function(){var a;Jb?(a=new _.ta.Uint32Array(1),Ib.getRandomValues(a),a=Number("0."+a[0])):(a=Ab,a+=(0,window.parseInt)(Gb.substr(0,20),16),Gb=Eb(Gb),a=a/(Bb+Math.pow(16,20)));return a};Ib=_.ta.crypto;Jb=!1;Cb=0;Db=0;Ab=1;Bb=0;Gb="";zb=function(a){a=a||_.ta.event;var c=a.screenX+a.clientX<<16,c=c+(a.screenY+a.clientY),c=c*((new Date).getTime()%1E6);Ab=Ab*c%Bb;0<Cb&&++Db==Cb&&_.Xa(_.ta,"mousemove",zb,"remove","de")};Eb=function(a){var c=new _.pi;c.bB(a);return c.Of()};
|
|
||||||
Jb=!!Ib&&"function"==typeof Ib.getRandomValues;Jb||(Bb=1E6*(window.screen.width*window.screen.width+window.screen.height),Gb=Eb(_.ua.cookie+"|"+_.ua.location+"|"+(new Date).getTime()+"|"+Math.random()),Cb=_.P("random/maxObserveMousemove")||0,0!=Cb&&_.Za(_.ta,"mousemove",zb));
|
|
||||||
|
|
||||||
var Tl,Wl,zm,Tm,Um,on,vn,wn,xn,zn,Cn,kc,mb,nb,ob,pb;Tl=/^([^?#]*)(\?([^#]*))?(\#(.*))?$/;_.Ul=/^https?:\/\/[^\/%\\?#\s]+\/[^\s]*$/i;Wl=function(a,c){var f=[];if(a)for(var g in a)if(_.Qa(a,g)&&null!=a[g]){var h=c?c(a[g]):a[g];f.push((0,window.encodeURIComponent)(g)+"="+(0,window.encodeURIComponent)(h))}return f};zm=function(a){return a.yc+(0<a.query.length?"?"+a.query.join("&"):"")+(0<a.Vf.length?"#"+a.Vf.join("&"):"")};
|
|
||||||
Tm=function(a){a=a.match(Tl);var c=_.r();c.yc=a[1];c.query=a[3]?[a[3]]:[];c.Vf=a[5]?[a[5]]:[];return c};Um=/'/g;on=/"/g;vn=/>/g;wn=/</g;xn=/&/g;zn=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)};_.An=function(a,c){var f="";2E3<c.length&&(f=c.substring(2E3),c=c.substring(0,2E3));var g=a.createElement("div"),h=a.createElement("a");h.href=c;g.appendChild(h);g.innerHTML=g.innerHTML;c=String(g.firstChild.href);g.parentNode&&g.parentNode.removeChild(g);return c+f};
|
|
||||||
_.Bn=function(a,c,f,g){a=Tm(a);a.query.push.apply(a.query,Wl(c,g));a.Vf.push.apply(a.Vf,Wl(f,g));return zm(a)};Cn=function(a){return String(a).replace(xn,"&").replace(wn,"<").replace(vn,">").replace(on,""").replace(Um,"'")};mb=function(){var a=_.bb.onl;if(!a){a=_.r();_.bb.onl=a;var c=_.r();a.e=function(a){var g=c[a];g&&(delete c[a],g())};a.a=function(a,g){c[a]=g};a.r=function(a){delete c[a]}}return a};nb=function(a,c){var f=c.onload;return"function"===typeof f?(mb().a(a,f),f):null}; ob=function(a){_.Sa(/^\w+$/.test(a),"Unsupported id - "+a);mb();return'onload="window.___jsl.onl.e("'+a+'")"'};pb=function(a){mb().r(a)};
|
|
||||||
var rb,ub,hc;_.vb={allowtransparency:"true",frameborder:"0",hspace:"0",marginheight:"0",marginwidth:"0",scrolling:"no",style:"",tabindex:"0",vspace:"0",width:"100%"};rb={allowtransparency:!0,onload:!0};ub=0;_.Dn=function(a,c){var f,g=0;do f=c.id||["I",ub++,"_",(new Date).getTime()].join("");while(a.getElementById(f)&&5>++g);_.Sa(5>g,"Error creating iframe id");return f};_.Ln=function(a,c){return a?c+"/"+a:""};
|
|
||||||
_.qa=function(a,c,f,g){var h={},l={};a.documentMode&&9>a.documentMode&&(h.hostiemode=a.documentMode);_.Sl(g.queryParams||{},h);_.Sl(g.fragmentParams||{},l);var n=g.connectWithQueryParams?h:l,q=g.pfname,t=_.r();t.id=f;t.parent=a.location.protocol+"//"+a.location.host;f=_.Wa(a.location.href,"parent");q=q||"";!q&&f&&(q=_.Ln(_.Wa(a.location.href,"id",""),_.Wa(a.location.href,"pfname","")));t.pfname=q;_.Sl(t,n);(t=_.Wa(c,"rpctoken")||h.rpctoken||l.rpctoken)||(t=n.rpctoken=g.rpctoken||String(Math.round(1E8*
|
|
||||||
_.Rl())));g.rpctoken=t;n=a.location.href;a=_.r();(t=_.Wa(n,"_bsh",_.bb.bsh))&&(a._bsh=t);(n=_.bb.dpo?_.bb.h:_.Wa(n,"jsh",_.bb.h))&&(a.jsh=n);g.hintInFragment?_.Sl(a,l):_.Sl(a,h);return _.Bn(c,h,l,g.paramsSerializer)};hc=function(a){_.Sa(!a||_.Ul.test(a),"Illegal url for new iframe - "+a)};
|
|
||||||
_.Pn=function(a,c,f,g,h){hc(f.src);var l,n=nb(g,f),q=n?ob(g):"";try{window.document.all&&(l=a.createElement('<iframe frameborder="'+Cn(String(f.frameborder))+'" scrolling="'+Cn(String(f.scrolling))+'" '+q+' name="'+Cn(String(f.name))+'"/>'))}catch(t){}finally{l||(l=a.createElement("iframe"),n&&(l.onload=function(){l.onload=null;n.call(this)},pb(g)))}for(var v in f)a=f[v],"style"===v&&"object"===typeof a?_.Sl(a,l.style):rb[v]||l.setAttribute(v,String(a));(v=h&&h.beforeNode||null)||h&&h.dontclear|| zn(c);c.insertBefore(l,v);l=v?v.previousSibling:c.lastChild;f.allowtransparency&&(l.allowTransparency=!0);return l};
|
|
||||||
var zd,jc;zd=/^:[\w]+$/;_.nc=/:([a-zA-Z_]+):/g;_.ql=function(){var a=_.Dh()||"0",c=_.Rh(),f=_.ci(void 0,a),g=!1===_.P("isLoggedIn"),h=g?"_/im/":"";h&&(f="");var l=_.P("iframes/:socialhost:"),n=_.P("iframes/:im_socialhost:");return kc={socialhost:l,ctx_socialhost:g?n:l,session_index:a,session_delegate:c,session_prefix:f,im_prefix:h}};jc=function(a,c){return _.ql()[c]||""};_.mc=function(a){return _.An(_.ua,a.replace(_.nc,jc))};
|
|
||||||
_.Un=function(a){var c=a;zd.test(a)&&(c=_.P("iframes/"+c.substring(1)+"/url"),_.Sa(!!c,"Unknown iframe url config for - "+a));return _.mc(c)};
|
|
||||||
_.tb=function(a,c,f){var g=f||{};f=g.attributes||{};_.Sa(!g.allowPost||!f.onload,"onload is not supported by post iframe");a=_.Un(a);f=c.ownerDocument||_.ua;var h=_.Dn(f,g);a=_.qa(f,a,h,g);var l=_.r();_.Sl(_.vb,l);_.Sl(g.attributes,l);l.name=l.id=h;l.src=a;g.eurl=a;if((g||{}).allowPost&&2E3<a.length){var n=Tm(a);l.src="";l["data-postorigin"]=a;a=_.Pn(f,c,l,h);var q;if(-1!=window.navigator.userAgent.indexOf("WebKit")){q=a.contentWindow.document;q.open();var l=q.createElement("div"),t={},v=h+"_inner";
|
|
||||||
t.name=v;t.src="";t.style="display:none";_.Pn(f,l,t,v,g)}l=(g=n.query[0])?g.split("&"):[];g=[];for(t=0;t<l.length;t++)v=l[t].split("=",2),g.push([(0,window.decodeURIComponent)(v[0]),(0,window.decodeURIComponent)(v[1])]);n.query=[];l=zm(n);_.Sa(_.Ul.test(l),"Invalid URL: "+l);n=f.createElement("form");n.action=l;n.method="POST";n.target=h;n.style.display="none";for(h=0;h<g.length;h++)l=f.createElement("input"),l.type="hidden",l.name=g[h][0],l.value=g[h][1],n.appendChild(l);c.appendChild(n);n.submit(); n.parentNode.removeChild(n);q&&q.close();c=a}else c=_.Pn(f,c,l,h,g);return c};
|
|
||||||
|
|
||||||
_.R=_.R||{};_.R.Dg=function(a,c,f){for(var g=[],h=2,l=arguments.length;h<l;++h)g.push(arguments[h]);return function(){for(var f=g.slice(),h=0,l=arguments.length;h<l;++h)f.push(arguments[h]);return c.apply(a,f)}};_.R.nf=function(a){var c,f,g={};for(c=0;f=a[c];++c)g[f]=f;return g};
|
|
||||||
|
|
||||||
_.R=_.R||{};
|
|
||||||
(function(){function a(a,c){return String.fromCharCode(c)}var c={0:!1,10:!0,13:!0,34:!0,39:!0,60:!0,62:!0,92:!0,8232:!0,8233:!0,65282:!0,65287:!0,65308:!0,65310:!0,65340:!0};_.R.escape=function(a,c){if(a){if("string"===typeof a)return _.R.Qf(a);if("Array"===typeof a)for(var h=0,l=a.length;h<l;++h)a[h]=_.R.escape(a[h]);else if("object"===typeof a&&c){h={};for(l in a)a.hasOwnProperty(l)&&(h[_.R.Qf(l)]=_.R.escape(a[l],!0));return h}}return a};_.R.Qf=function(a){if(!a)return a;for(var g=[],h,l,n=0,q= a.length;n<q;++n)h=a.charCodeAt(n),l=c[h],!0===l?g.push("&#",h,";"):!1!==l&&g.push(a.charAt(n));return g.join("")};_.R.su=function(c){return c?c.replace(/&#([0-9]+);/g,a):c}})();
|
|
||||||
|
|
||||||
_.Ob=_.Ob||{};_.Ob.Xk=function(){var a=0,c=0;window.self.innerHeight?(a=window.self.innerWidth,c=window.self.innerHeight):window.document.documentElement&&window.document.documentElement.clientHeight?(a=window.document.documentElement.clientWidth,c=window.document.documentElement.clientHeight):window.document.body&&(a=window.document.body.clientWidth,c=window.document.body.clientHeight);return{width:a,height:c}};
|
|
||||||
|
|
||||||
_.Ob=_.Ob||{};
|
|
||||||
(function(){function a(a,f){window.getComputedStyle(a,"").getPropertyValue(f).match(/^([0-9]+)/);return(0,window.parseInt)(RegExp.$1,10)}_.Ob.Cd=function(){var c=_.Ob.Xk().height,f=window.document.body,g=window.document.documentElement;if("CSS1Compat"===window.document.compatMode&&g.scrollHeight)return g.scrollHeight!==c?g.scrollHeight:g.offsetHeight;if(0<=window.navigator.userAgent.indexOf("AppleWebKit")){c=0;for(f=[window.document.body];0<f.length;){var h=f.shift(),g=h.childNodes;if("undefined"!==
|
|
||||||
typeof h.style){var l=h.style.overflowY;l||(l=(l=window.document.defaultView.getComputedStyle(h,null))?l.overflowY:null);if("visible"!=l&&"inherit"!=l&&(l=h.style.height,l||(l=(l=window.document.defaultView.getComputedStyle(h,null))?l.height:""),0<l.length&&"auto"!=l))continue}for(h=0;h<g.length;h++){l=g[h];if("undefined"!==typeof l.offsetTop&&"undefined"!==typeof l.offsetHeight)var n=l.offsetTop+l.offsetHeight+a(l,"margin-bottom"),c=Math.max(c,n);f.push(l)}}return c+a(window.document.body,"border-bottom")+ a(window.document.body,"margin-bottom")+a(window.document.body,"padding-bottom")}if(f&&g)return h=g.scrollHeight,l=g.offsetHeight,g.clientHeight!==l&&(h=f.scrollHeight,l=f.offsetHeight),h>c?h>l?h:l:h<l?h:l}})();
|
|
||||||
|
|
||||||
_.Mb=function(){function a(a,c){if(!(a<f)&&g)if(2===a&&g.warn)g.warn(c);else if(3===a&&g.error)try{g.error(c)}catch(n){}else g.log&&g.log(c)}var c=function(c){a(1,c)};_.Lb=function(c){a(2,c)};_.sa=function(c){a(3,c)};_.Fc=function(){};c.INFO=1;c.WARNING=2;c.NONE=4;var f=1,g=window.console?window.console:window.opera?window.opera.postError:void 0;return c}();
|
|
||||||
|
|
||||||
_.R=_.R||{};(function(){var a=[];_.R.du=function(c){a.push(c)};_.R.ku=function(){for(var c=0,f=a.length;c<f;++c)a[c]()}})();
|
|
||||||
_.Pb=function(){var a=window.gadgets&&window.gadgets.config&&window.gadgets.config.get;a&&_.Fa(a());return{register:function(a,f,g){g&&g(_.P())},get:function(a){return _.P(a)},update:function(a,f){if(f)throw"Config replacement is not supported";_.Fa(a)},kc:function(){}}}();
|
|
||||||
_.e("gadgets.config.register",_.Pb.register);_.e("gadgets.config.get",_.Pb.get);_.e("gadgets.config.init",_.Pb.kc);_.e("gadgets.config.update",_.Pb.update);
|
|
||||||
var yg,Qb;yg=function(){var a=_.ua.readyState;return"complete"===a||"interactive"===a&&-1==window.navigator.userAgent.indexOf("MSIE")};_.$g=function(a){if(yg())a();else{var c=!1,f=function(){if(!c)return c=!0,a.apply(this,arguments)};_.ta.addEventListener?(_.ta.addEventListener("load",f,!1),_.ta.addEventListener("DOMContentLoaded",f,!1)):_.ta.attachEvent&&(_.ta.attachEvent("onreadystatechange",function(){yg()&&f.apply(this,arguments)}),_.ta.attachEvent("onload",f))}};_.rh=function(a,c){if(!yg())try{a()}catch(f){}_.$g(c)}; Qb=Qb||{};Qb.Km=null;Qb.bm=null;Qb.pg=null;Qb.frameElement=null;
|
|
||||||
Qb=Qb||{};
|
|
||||||
Qb.Lj||(Qb.Lj=function(){function a(a){"undefined"!=typeof window.addEventListener?window.addEventListener("message",a,!1):"undefined"!=typeof window.attachEvent&&window.attachEvent("onmessage",a);window.___jsl=window.___jsl||{};var c=window.___jsl;c.RPMQ=c.RPMQ||[];c.RPMQ.push(a)}function c(a){var c=(0,_.of)(a.data);if(c&&c.f){(0,_.Fc)("gadgets.rpc.receive("+window.name+"): "+a.data);var g=_.T.$d(c.f);h&&("undefined"!==typeof a.origin?a.origin!==g:a.domain!==/^.+:\/\/([^:]+).*/.exec(g)[1])?_.sa("Invalid rpc message origin. "+
|
|
||||||
g+" vs "+(a.origin||"")):f(c,a.origin)}}var f,g,h=!0;return{Kk:function(){return"wpm"},B:function(){return!0},kc:function(l,n){_.Pb.register("rpc",null,function(a){"true"===String((a&&a.rpc||{}).disableForceSecure)&&(h=!1)});f=l;g=n;a(c);g("..",!0);return!0},sf:function(a){g(a,!0);return!0},call:function(a,c,f){var g=_.T.$d(a),h=_.T.dk(a);g?window.setTimeout(function(){var a=(0,_.mf)(f);(0,_.Fc)("gadgets.rpc.send("+window.name+"): "+a);h.postMessage(a,g)},0):".."!=a&&_.sa("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message"); return!0}}}());
|
|
||||||
Qb=Qb||{};
|
|
||||||
Qb.Uf||(Qb.Uf=function(){function a(a,c){Ca[c]=Ca[c]||function(){a.apply({},arguments)}}function c(){if(null===F&&window.document.body&&t){var a=t+"?cb="+Math.random()+"&origin="+S+"&jsl=1",f=window.document.createElement("div");f.style.height="1px";f.style.width="1px";a='<object height="1" width="1" id="___xpcswf" type="application/x-shockwave-flash"><param name="allowScriptAccess" value="always"></param><param name="movie" value="'+a+'"></param><embed type="application/x-shockwave-flash" allowScriptAccess="always" src="'+a+
|
|
||||||
'" height="1" width="1"></embed></object>';window.document.body.appendChild(f);f.innerHTML=a;F=f.firstChild}++E;null!==I&&(null!==F||50<=E)?window.clearTimeout(I):I=window.setTimeout(c,100)}function f(){ka[".."]||(q(".."),K++,50<=K&&null!==U?(window.clearTimeout(U),U=null):U=window.setTimeout(f,100))}function g(){if(null!==F&&F.setup)for(;0<z.length;){var a=z.shift(),c=a.Qs;F.setup(a.ve,".."===c?_.T.lh:c,".."===c?"INNER":"OUTER")}null!==I&&window.clearTimeout(I);I=null}function h(){ka[".."]||null!==
|
|
||||||
U||(U=window.setTimeout(f,100))}function l(a,c,f){c=_.T.$d(a);var g=_.T.Wd(a);F["sendMessage_"+(".."===a?_.T.lh:a)+"_"+g+"_"+(".."===a?"INNER":"OUTER")].call(F,(0,_.mf)(f),c);return!0}function n(a,c){var f=(0,_.of)(a),g=f._scr;g?(A(g,!0),ka[g]=!0,".."!==g&&q(g,!0)):window.setTimeout(function(){w(f,c)},0)}function q(a,c){var f=_.T.lh,g={};g._scr=c?"..":f;g._pnt=f;l(a,0,g)}var t=null,v=!1,w=null,A=null,F=null,z=[],I=null,E=0,K=0,U=null,ka={},S=window.location.protocol+"//"+window.location.host,Ca;window.___jsl=
|
|
||||||
window.___jsl||{};Ca=window.___jsl._fm={};_.Pb.register("rpc",null,function(a){v&&(t=a&&a.rpc&&a.rpc.commSwf||"//xpc.googleusercontent.com/gadgets/xpc.swf")});a(g,"ready");a(h,"setupDone");a(n,"receiveMessage");return{Kk:function(){return"flash"},B:function(){return!0},kc:function(a,c){w=a;A=c;return v=!0},sf:function(a,f){z.push({ve:f,Qs:a});null===F&&null===I&&(I=window.setTimeout(c,100));return!0},call:l,Vo:n,G:g,ha:h}}());
|
|
||||||
if(window.gadgets&&window.gadgets.rpc)"undefined"!=typeof _.T&&_.T||(_.T=window.gadgets.rpc,_.T.config=_.T.config,_.T.register=_.T.register,_.T.unregister=_.T.unregister,_.T.Am=_.T.registerDefault,_.T.aB=_.T.unregisterDefault,_.T.Fk=_.T.forceParentVerifiable,_.T.call=_.T.call,_.T.Rk=_.T.getRelayUrl,_.T.Xg=_.T.setRelayUrl,_.T.Wg=_.T.setAuthToken,_.T.tf=_.T.setupReceiver,_.T.Wd=_.T.getAuthToken,_.T.mj=_.T.removeReceiver,_.T.Qk=_.T.getRelayChannel,_.T.ym=_.T.receive,_.T.zm=_.T.receiveSameDomain,_.T.Pq=
|
|
||||||
_.T.getOrigin,_.T.$d=_.T.getTargetOrigin,_.T.dk=_.T._getTargetWin,_.T.Uo=_.T._parseSiblingId);else{_.T=function(){function a(a,c){if(!Ta[a]){var f=fc;c||(f=te);Ta[a]=f;for(var g=Ya[a]||[],h=0;h<g.length;++h){var l=g[h];l.t=ka[a];f.call(a,l.f,l)}Ya[a]=[]}}function c(){function a(){Go=!0}Ho||("undefined"!=typeof window.addEventListener?window.addEventListener("unload",a,!1):"undefined"!=typeof window.attachEvent&&window.attachEvent("onunload",a),Ho=!0)}function f(a,f,g,h,l){ka[f]&&ka[f]===g||(_.sa("Invalid gadgets.rpc token. "+
|
|
||||||
ka[f]+" vs "+g),ok(f,2));l.onunload=function(){ja[f]&&!Go&&(ok(f,1),_.T.mj(f))};c();h=(0,_.of)((0,window.decodeURIComponent)(h))}function g(c,f){if(c&&"string"===typeof c.s&&"string"===typeof c.f&&c.a instanceof Array)if(ka[c.f]&&ka[c.f]!==c.t&&(_.sa("Invalid gadgets.rpc token. "+ka[c.f]+" vs "+c.t),ok(c.f,2)),"__ack"===c.s)window.setTimeout(function(){a(c.f,!0)},0);else{c.c&&(c.callback=function(a){_.T.call(c.f,(c.g?"legacy__":"")+"__cb",null,c.c,a)});if(f){var g=h(f);c.origin=f;var l=c.r,n;try{n=
|
|
||||||
h(l)}catch(q){}l&&n==g||(l=f);c.referer=l}g=(E[c.s]||E[""]).apply(c,c.a);c.c&&"undefined"!==typeof g&&_.T.call(c.f,"__cb",null,c.c,g)}}function h(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);-1==a.indexOf("://")&&(a=window.location.protocol+"//"+a);var c=a.substring(a.indexOf("://")+3),f=c.indexOf("/");-1!=f&&(c=c.substring(0,f));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==
|
|
||||||
a)throw Error("Pa");var f="",g=c.indexOf(":");if(-1!=g){var h=c.substring(g+1),c=c.substring(0,g);if("http"===a&&"80"!==h||"https"===a&&"443"!==h)f=":"+h}return a+"://"+c+f}function l(a){if("/"==a.charAt(0)){var c=a.indexOf("|");return{id:0<c?a.substring(1,c):a.substring(1),origin:0<c?a.substring(c+1):null}}return null}function n(a){if("undefined"===typeof a||".."===a)return window.parent;var c=l(a);if(c)return window.top.frames[c.id];a=String(a);return(c=window.frames[a])?c:(c=window.document.getElementById(a))&&
|
|
||||||
c.contentWindow?c.contentWindow:null}function q(a,c){if(!0!==ja[a]){"undefined"===typeof ja[a]&&(ja[a]=0);var f=n(a);".."!==a&&null==f||!0!==fc.sf(a,c)?!0!==ja[a]&&10>ja[a]++?window.setTimeout(function(){q(a,c)},500):(Ta[a]=te,ja[a]=!0):ja[a]=!0}}function t(a){(a=K[a])&&"/"===a.substring(0,1)&&(a="/"===a.substring(1,2)?window.document.location.protocol+a:window.document.location.protocol+"//"+window.document.location.host+a);return a}function v(a,c,f){c&&!/http(s)?:\/\/.+/.test(c)&&(0==c.indexOf("//")?
|
|
||||||
c=window.location.protocol+c:"/"==c.charAt(0)?c=window.location.protocol+"//"+window.location.host+c:-1==c.indexOf("://")&&(c=window.location.protocol+"//"+c));K[a]=c;"undefined"!==typeof f&&(U[a]=!!f)}function w(a,c){c=c||"";ka[a]=String(c);q(a,c)}function A(a){a=(a.passReferrer||"").split(":",2);If=a[0]||"none";wh=a[1]||"origin"}function F(c){"true"===String(c.useLegacyProtocol)&&(fc=Qb.pg||te,fc.kc(g,a))}function z(a,c){function f(g){g=g&&g.rpc||{};A(g);var l=g.parentRelayUrl||"",l=h(rw.parent||
|
|
||||||
c)+l;v("..",l,"true"===String(g.useLegacyProtocol));F(g);w("..",a)}!rw.parent&&c?f({}):_.Pb.register("rpc",null,f)}function I(a,c,f){if(".."===a)z(f||rw.rpctoken||rw.ifpctok||"",c);else a:{var g=null;if("/"!=a.charAt(0)){if(!_.R)break a;g=window.document.getElementById(a);if(!g)throw Error("h`"+a);}g=g&&g.src;c=c||_.T.Pq(g);v(a,c);c=_.R.dc(g);w(a,f||c.rpctoken)}}var E={},K={},U={},ka={},S=0,Ca={},ja={},rw={},Ta={},Ya={},If=null,wh=null,nk=window.top!==window.self,Yw=window.name,ok=function(){},pk=
|
|
||||||
window.console,Io=pk&&pk.log&&function(a){pk.log(a)}||function(){},te=function(){function a(c){return function(){Io(c+": call ignored")}}return{getCode:function(){return"noop"},isParentVerifiable:function(){return!0},init:a("init"),setup:a("setup"),call:a("call")}}();_.R&&(rw=_.R.dc());var Go=!1,Ho=!1,fc=function(){if("flash"==rw.rpctx)return Qb.Uf;if("rmr"==rw.rpctx)return Qb.Km;var a="function"===typeof window.postMessage?Qb.Lj:"object"===typeof window.postMessage?Qb.Lj:window.ActiveXObject?Qb.Uf?
|
|
||||||
Qb.Uf:Qb.bm?Qb.bm:Qb.pg:0<window.navigator.userAgent.indexOf("WebKit")?Qb.Km:"Gecko"===window.navigator.product?Qb.frameElement:Qb.pg;a||(a=te);return a}();E[""]=function(){Io("Unknown RPC service: "+this.s)};E.__cb=function(a,c){var f=Ca[a];f&&(delete Ca[a],f.call(this,c))};return{config:function(a){"function"===typeof a.Mm&&(ok=a.Mm)},register:function(a,c){if("__cb"===a||"__ack"===a)throw Error("i");if(""===a)throw Error("j");E[a]=c},unregister:function(a){if("__cb"===a||"__ack"===a)throw Error("k");
|
|
||||||
if(""===a)throw Error("l");delete E[a]},Am:function(a){E[""]=a},aB:function(){delete E[""]},Fk:function(){},call:function(a,c,f,g){a=a||"..";var h="..";".."===a?h=Yw:"/"==a.charAt(0)&&(h=_.T.Pq(window.location.href),h="/"+Yw+(h?"|"+h:""));++S;f&&(Ca[S]=f);var n={s:c,f:h,c:f?S:0,a:Array.prototype.slice.call(arguments,3),t:ka[a],l:!!U[a]},q;a:if("bidir"===If||"c2p"===If&&".."===a||"p2c"===If&&".."!==a){q=window.location.href;var t="?";if("query"===wh)t="#";else if("hash"===wh)break a;t=q.lastIndexOf(t);
|
|
||||||
t=-1===t?q.length:t;q=q.substring(0,t)}else q=null;q&&(n.r=q);if(".."===a||null!=l(a)||window.document.getElementById(a))(q=Ta[a])||null===l(a)||(q=fc),0===c.indexOf("legacy__")&&(q=fc,n.s=c.substring(8),n.c=n.c?n.c:S),n.g=!0,n.r=h,q?(U[a]&&(q=Qb.pg),!1===q.call(a,h,n)&&(Ta[a]=te,fc.call(a,h,n))):Ya[a]?Ya[a].push(n):Ya[a]=[n]},Rk:t,Xg:v,Wg:w,tf:I,Wd:function(a){return ka[a]},mj:function(a){delete K[a];delete U[a];delete ka[a];delete ja[a];delete Ta[a]},Qk:function(){return fc.Kk()},ym:function(a,
|
|
||||||
c){4<a.length?fc.Vo(a,g):f.apply(null,a.concat(c))},zm:function(a){a.a=Array.prototype.slice.call(a.a);window.setTimeout(function(){g(a)},0)},Pq:h,$d:function(a){var c=null,f=t(a);f?c=f:(f=l(a))?c=f.origin:c=".."==a?rw.parent:window.document.getElementById(a).src;return h(c)},kc:function(){!1===fc.kc(g,a)&&(fc=te);nk?I(".."):_.Pb.register("rpc",null,function(a){a=a.rpc||{};A(a);F(a)})},dk:n,Uo:l,B:"__ack",lh:Yw||"..",M:0,ha:1,G:2}}();_.T.kc()};
|
|
||||||
_.T.config({Mm:function(a){throw Error("m`"+a);}});_.Fc=_.ke;_.e("gadgets.rpc.config",_.T.config);_.e("gadgets.rpc.register",_.T.register);_.e("gadgets.rpc.unregister",_.T.unregister);_.e("gadgets.rpc.registerDefault",_.T.Am);_.e("gadgets.rpc.unregisterDefault",_.T.aB);_.e("gadgets.rpc.forceParentVerifiable",_.T.Fk);_.e("gadgets.rpc.call",_.T.call);_.e("gadgets.rpc.getRelayUrl",_.T.Rk);_.e("gadgets.rpc.setRelayUrl",_.T.Xg);_.e("gadgets.rpc.setAuthToken",_.T.Wg);_.e("gadgets.rpc.setupReceiver",_.T.tf);_.e("gadgets.rpc.getAuthToken",_.T.Wd); _.e("gadgets.rpc.removeReceiver",_.T.mj);_.e("gadgets.rpc.getRelayChannel",_.T.Qk);_.e("gadgets.rpc.receive",_.T.ym);_.e("gadgets.rpc.receiveSameDomain",_.T.zm);_.e("gadgets.rpc.getOrigin",_.T.Pq);_.e("gadgets.rpc.getTargetOrigin",_.T.$d);
|
|
||||||
|
|
||||||
_.R=_.R||{};_.R.Ee=function(a,c,f,g){"undefined"!=typeof a.addEventListener?a.addEventListener(c,f,g):"undefined"!=typeof a.attachEvent?a.attachEvent("on"+c,f):_.Lb("cannot attachBrowserEvent: "+c)};_.R.Vr=function(a){var c=window;c.removeEventListener?c.removeEventListener("mousemove",a,!1):c.detachEvent?c.detachEvent("onmousemove",a):_.Lb("cannot removeBrowserEvent: mousemove")};
|
|
||||||
|
|
||||||
_.Tb=function(){function a(){h[0]=1732584193;h[1]=4023233417;h[2]=2562383102;h[3]=271733878;h[4]=3285377520;w=v=0}function c(a){for(var c=n,f=0;64>f;f+=4)c[f/4]=a[f]<<24|a[f+1]<<16|a[f+2]<<8|a[f+3];for(f=16;80>f;f++)a=c[f-3]^c[f-8]^c[f-14]^c[f-16],c[f]=(a<<1|a>>>31)&4294967295;a=h[0];for(var g=h[1],l=h[2],q=h[3],t=h[4],v,w,f=0;80>f;f++)40>f?20>f?(v=q^g&(l^q),w=1518500249):(v=g^l^q,w=1859775393):60>f?(v=g&l|q&(g|l),w=2400959708):(v=g^l^q,w=3395469782),v=((a<<5|a>>>27)&4294967295)+v+t+w+c[f]&4294967295,
|
|
||||||
t=q,q=l,l=(g<<30|g>>>2)&4294967295,g=a,a=v;h[0]=h[0]+a&4294967295;h[1]=h[1]+g&4294967295;h[2]=h[2]+l&4294967295;h[3]=h[3]+q&4294967295;h[4]=h[4]+t&4294967295}function f(a,f){if("string"===typeof a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var g=[],h=0,n=a.length;h<n;++h)g.push(a.charCodeAt(h));a=g}f||(f=a.length);g=0;if(0==v)for(;g+64<f;)c(a.slice(g,g+64)),g+=64,w+=64;for(;g<f;)if(l[v++]=a[g++],w++,64==v)for(v=0,c(l);g+64<f;)c(a.slice(g,g+64)),g+=64,w+=64}function g(){var a=[],
|
|
||||||
g=8*w;56>v?f(q,56-v):f(q,64-(v-56));for(var n=63;56<=n;n--)l[n]=g&255,g>>>=8;c(l);for(n=g=0;5>n;n++)for(var t=24;0<=t;t-=8)a[g++]=h[n]>>t&255;return a}for(var h=[],l=[],n=[],q=[128],t=1;64>t;++t)q[t]=0;var v,w;a();return{reset:a,update:f,digest:g,Of:function(){for(var a=g(),c="",f=0;f<a.length;f++)c+="0123456789ABCDEF".charAt(Math.floor(a[f]/16))+"0123456789ABCDEF".charAt(a[f]%16);return c}}};
|
|
||||||
_.Vb=function(){function a(a){var c=_.Tb();c.update(a);return c.Of()}var c=window.crypto;if(c&&"function"==typeof c.getRandomValues)return function(){var a=new window.Uint32Array(1);c.getRandomValues(a);return Number("0."+a[0])};var f=_.P("random/maxObserveMousemove");null==f&&(f=-1);var g=0,h=Math.random(),l=1,n=1E6*(window.screen.width*window.screen.width+window.screen.height),q=function(a){a=a||window.event;var c=a.screenX+a.clientX<<16,c=c+(a.screenY+a.clientY),c=c*((new Date).getTime()%1E6);
|
|
||||||
l=l*c%n;0<f&&++g==f&&_.R.Vr(q)};0!=f&&_.R.Ee(window,"mousemove",q,!1);var t=a(window.document.cookie+"|"+window.document.location+"|"+(new Date).getTime()+"|"+h);return function(){var c=l,c=c+(0,window.parseInt)(t.substr(0,20),16);t=a(t);return c/(n+Math.pow(16,20))}}();
|
|
||||||
_.e("shindig.random",_.Vb);
|
|
||||||
_.V={};_.Sb={};window.iframer=_.Sb;
|
|
||||||
_.V.J=_.V.J||{};_.V.J.jp=function(a){try{return!!a.document}catch(c){}return!1};_.V.J.Uk=function(a){var c=a.parent;return a!=c&&_.V.J.jp(c)?_.V.J.Uk(c):a};_.V.J.St=function(a){var c=a.userAgent||"";a=a.product||"";return 0!=c.indexOf("Opera")&&-1==c.indexOf("WebKit")&&"Gecko"==a&&0<c.indexOf("rv:1.")};
|
|
||||||
|
|
||||||
var gc=function(){_.V.Kl++;return["I",_.V.Kl,"_",(new Date).getTime()].join("")},ec;var ic=function(a){return a instanceof Array?a.join(","):a instanceof Object?(0,_.mf)(a):a};var lc=function(){};var oc=function(a){a&&a.match(pc)&&_.Fa("googleapis.config/gcv",a)};var qc=function(a){_.Rb.xh.ys(a)};var rc=function(a){_.Rb.xh.pj(a)};_.sc=function(a,c){var f=c||{},g;for(g in a)a.hasOwnProperty(g)&&(f[g]=a[g]);return f};
|
|
||||||
_.tc=function(a,c,f,g,h){var l=[],n;for(n in a)if(a.hasOwnProperty(n)){var q=c,t=f,v=a[n],w=g,A=Zb(n);A[q]=A[q]||{};w=_.R.Dg(w,v);v._iframe_wrapped_rpc_&&(w._iframe_wrapped_rpc_=!0);A[q][t]=w;l.push(n)}if(h)for(n in _.V.bo)_.V.bo.hasOwnProperty(n)&&l.push(n);return l.join(",")};var uc=function(a,c,f){var g={};if(a&&a._methods){a=a._methods.split(",");for(var h=0;h<a.length;h++){var l=a[h];g[l]=$b(l,c,f)}}return g};
|
|
||||||
var vc=function(a){if(a&&a.disableMultiLevelParentRelay)a=!1;else{var c;if(c=_.Sb&&_.Sb._open&&"inline"!=a.style&&!0!==a.inline)a=a.container,c=!(a&&("string"==typeof a&&window.document.getElementById(a)||window.document==(a.ownerDocument||a.document)));a=c}return a};var eo=function(a,c){var f={},g=c.params||{},h;for(h in a)"#"==h.charAt(0)&&(f[h.substring(1)]=a[h]),0==h.indexOf("fr-")&&(f[h.substring(3)]=a[h]),"#"==g[h]&&(f[h]=a[h]);for(var l in f)delete a["fr-"+l],delete a["#"+l],delete a[l];return f};
|
|
||||||
var xc=function(a){if(":"==a.charAt(0)){var c=_.P("iframes/"+a.substring(1));a={};_.Sl(c,a);(c=a.url)&&(a.url=_.mc(c));a.params||(a.params={});return a}return{url:_.mc(a)}};var yc=function(a){function c(){}c.prototype=zc.prototype;a.prototype=new c};var Mc=function(a){return _.V.yf[a]};var Nc=function(a,c){_.V.yf[a]=c};var Oc=function(a){a=a||{};"auto"===a.height&&(a.height=_.Ob.Cd());var c=window&&Pc&&Pc.ma();c?c.Gm(a.width||0,a.height||0):_.Sb&&_.Sb._resizeMe&&_.Sb._resizeMe(a)};var Qc=function(a){oc(a)};
|
|
||||||
ec=function(a){var c=_.Wa(a.location.href,"urlindex");if(c=_.Ka(_.bb,"fUrl",[])[c]){var f=a.location.hash,c=c+(/#/.test(c)?f.replace(/^#/,"&"):f);a.location.replace(c)}};_.Qu=function(){return _.ta.location.origin||_.ta.location.protocol+"//"+_.ta.location.host};
|
|
||||||
if(window.ToolbarApi)Pc=window.ToolbarApi,Pc.ma=window.ToolbarApi.getInstance,Pc.prototype=window.ToolbarApi.prototype,_.k=Pc.prototype,_.k.openWindow=Pc.prototype.openWindow,_.k.rk=Pc.prototype.closeWindow,_.k.Tm=Pc.prototype.setOnCloseHandler,_.k.jj=Pc.prototype.canClosePopup,_.k.Gm=Pc.prototype.resizeWindow;else{var Pc=function(){},Rc=null;Pc.ma=function(){!Rc&&window.external&&window.external.GTB_IsToolbar&&(Rc=new Pc);return Rc};_.k=Pc.prototype;_.k.openWindow=function(a){return window.external.GTB_OpenPopup&&
|
|
||||||
window.external.GTB_OpenPopup(a)};_.k.rk=function(a){window.external.GTB_ClosePopupWindow&&window.external.GTB_ClosePopupWindow(a)};_.k.Tm=function(a,c){window.external.GTB_SetOnCloseHandler&&window.external.GTB_SetOnCloseHandler(a,c)};_.k.jj=function(a){return window.external.GTB_CanClosePopup&&window.external.GTB_CanClosePopup(a)};_.k.Gm=function(a,c){return window.external.GTB_ResizeWindow&&window.external.GTB_ResizeWindow(a,c)};window.ToolbarApi=Pc;window.ToolbarApi.getInstance=Pc.ma};
|
|
||||||
var bc=function(){_.T.register("_noop_echo",function(){this.callback(_.V.UI(_.V.Uc[this.f]))})},ac=function(){window.setTimeout(function(){_.T.call("..","_noop_echo",_.V.Lr)},0)},$b=function(a,c,f){var g=function(g){var l=Array.prototype.slice.call(arguments,0),n=l[l.length-1];if("function"===typeof n){var q=n;l.pop()}l.unshift(c,a,q,f);_.T.call.apply(_.T,l)};g._iframe_wrapped_rpc_=!0;return g},Zb=function(a){_.V.Rg[a]||(_.V.Rg[a]={},_.T.register(a,function(c,f){var g=this.f;if(!("string"!=typeof c||
|
|
||||||
c in{}||g in{})){var h=this.callback,l=_.V.Rg[a][g],n;l&&Object.hasOwnProperty.call(l,c)?n=l[c]:Object.hasOwnProperty.call(_.V.bo,a)&&(n=_.V.bo[a]);if(n)return g=Array.prototype.slice.call(arguments,1),n._iframe_wrapped_rpc_&&h&&g.push(h),n.apply({},g)}_.sa(['Unregistered call in window "',window.name,'" for method "',a,'", via proxyId "',c,'" from frame "',g,'".'].join(""));return null}));return _.V.Rg[a]};
|
|
||||||
_.V.ip=function(a,c,f){var g=Array.prototype.slice.call(arguments);_.V.Pk(function(a){a.sameOrigin&&(g.unshift("/"+a.claimedOpenerId+"|"+window.location.protocol+"//"+window.location.host),_.T.call.apply(_.T,g))})};_.V.Sr=function(a,c){_.T.register(a,c)};
|
|
||||||
var pc=/^[-_.0-9A-Za-z]+$/,Hc={open:"open",onready:"ready",close:"close",onresize:"resize",onOpen:"open",onReady:"ready",onClose:"close",onResize:"resize",onRenderStart:"renderstart"},Jc={onBeforeParentOpen:"beforeparentopen"},Cc={onOpen:function(a){var c=a.va();a.Pa(c.container||c.element);return a},onClose:function(a){a.remove()}};_.V.Wp=function(a){var c=_.r();_.Sl(_.vb,c);_.Sl(a,c);return c};
|
|
||||||
var zc=function(a,c,f,g,h,l,n,q){this.config=xc(a);this.openParams=this.ss=c||{};this.params=f||{};this.methods=g;this.qy=!1;Ac(this,c.style);this.Aq={};Bc(this,function(){var a;(a=this.ss.style)&&_.V.yf[a]?a=_.V.yf[a]:a?(_.Lb(['Missing handler for style "',a,'". Continuing with default handler.'].join("")),a=null):a=Cc;if(a){var c;if("function"===typeof a)c=a(this);else{var f={};for(c in a){var g=a[c];f[c]="function"===typeof g?_.R.Dg(a,g,this):g}c=f}for(var n in h)a=c[n],"function"===typeof a&&
|
|
||||||
Dc(this,h[n],_.R.Dg(c,a))}l&&Dc(this,"close",l)});this.ya=this.ac=n;this.dj=(q||[]).slice();n&&this.dj.unshift(n.Hh())};zc.prototype.va=function(){return this.ss};zc.prototype.tb=function(){return this.params};zc.prototype.bi=function(){return this.methods};zc.prototype.ci=function(){return this.ya};var Ac=function(a,c){if(!a.qy){var f=c&&!_.V.yf[c]&&_.V.XR[c];f?(a.kz=[],f(function(){a.qy=!0;for(var c=0,f=a.kz.length;c<f;++c)a.kz[c].call(a)})):a.qy=!0}},Bc=function(a,c){a.qy?c.call(a):a.kz.push(c)};
|
|
||||||
zc.prototype.ea=function(a,c){Bc(this,function(){Dc(this,a,c)})};var Dc=function(a,c,f){a.Aq[c]=a.Aq[c]||[];a.Aq[c].push(f)};zc.prototype.Ub=function(a,c){Bc(this,function(){var f=this.Aq[a];if(f)for(var g=0,h=f.length;g<h;++g)if(f[g]===c){f.splice(g,1);break}})};
|
|
||||||
zc.prototype.Pb=function(a,c){var f,g=this.Aq[a];if(g)for(var h=Array.prototype.slice.call(arguments,1),l=0,n=g.length;l<n;++l)try{f=g[l].apply({},h)}catch(q){_.sa(['Exception when calling callback "',a,'" with exception "',q.name,": ",q.message,'".'].join(""))}return f};
|
|
||||||
var Ec=function(a){return"number"==typeof a?{value:a,od:a+"px"}:"100%"==a?{value:100,od:"100%",Ul:!0}:null},Gc=function(a,c,f,g,h,l,n){zc.call(this,a,c,f,g,Hc,h,l,n);this.id=c.id||gc();this.G=c.rpctoken&&String(c.rpctoken)||Math.round(1E9*(0,_.Vb)());this.M=eo(this.params,this.config);this.Cz={};Bc(this,function(){this.Pb("open");_.sc(this.Cz,this)})};yc(Gc);_.k=Gc.prototype;
|
|
||||||
_.k.Pa=function(a,c){if(!this.config.url)return _.sa("Cannot open iframe, empty URL."),this;var f=this.id;_.V.Uc[f]=this;var g=_.sc(this.methods);g._ready=this.Jg;g._close=this.close;g._open=this.HB;g._resizeMe=this.Ug;g._renderstart=this.PA;var h=this.M;this.G&&(h.rpctoken=this.G);h._methods=_.tc(g,f,"",this,!0);this.ha=a="string"===typeof a?window.document.getElementById(a):a;g={};g.id=f;if(c){g.attributes=c;var l=c.style;if("string"===typeof l){var n;if(l){n=[];for(var l=l.split(";"),q=0,t=l.length;q<
|
|
||||||
t;++q){var v=l[q];if(0!=v.length||q+1!=t)v=v.split(":"),2==v.length&&v[0].match(/^[ a-zA-Z_-]+$/)&&v[1].match(/^[ +.%0-9a-zA-Z_-]+$/)?n.push(v.join(":")):_.sa(['Iframe style "',l[q],'" not allowed.'].join(""))}n=n.join(";")}else n="";c.style=n}}this.va().allowPost&&(g.allowPost=!0);g.queryParams=this.params;g.fragmentParams=h;g.paramsSerializer=ic;this.B=_.tb(this.config.url,a,g);h=this.B.getAttribute("data-postorigin")||this.B.src;_.V.Uc[f]=this;_.T.Wg(this.id,this.G);_.T.Xg(this.id,h);return this};
|
|
||||||
_.k.fg=function(a,c){this.Cz[a]=c};_.k.Hh=function(){return this.id};_.k.rb=function(){return this.B};_.k.V=function(){return this.ha};_.k.qc=function(a){this.ha=a};_.k.Jg=function(a){var c=uc(a,this.id,"");this.ya&&"function"==typeof this.methods._ready&&(a._methods=_.tc(c,this.ya.Hh(),this.id,this,!1),this.methods._ready(a));_.sc(a,this);_.sc(c,this);this.Pb("ready",a)};_.k.PA=function(a){this.Pb("renderstart",a)};_.k.close=function(a){a=this.Pb("close",a);delete _.V.Uc[this.id];return a};
|
|
||||||
_.k.remove=function(){var a=window.document.getElementById(this.id);a&&a.parentNode&&a.parentNode.removeChild(a)};
|
|
||||||
_.k.HB=function(a){var c=uc(a.params,this.id,a.proxyId);delete a.params._methods;"_parent"==a.openParams.anchor&&(a.openParams.anchor=this.ha);if(vc(a.openParams))new Ic(a.url,a.openParams,a.params,c,c._onclose,this,a.openedByProxyChain);else{var f=new Gc(a.url,a.openParams,a.params,c,c._onclose,this,a.openedByProxyChain),g=this;Bc(f,function(){var a={childId:f.Hh()},l=f.Cz;l._toclose=f.close;a._methods=_.tc(l,g.id,f.id,f,!1);c._onopen(a)})}};
|
|
||||||
_.k.Ug=function(a){if(void 0===this.Pb("resize",a)&&this.B){var c=Ec(a.width);null!=c&&(this.B.style.width=c.od);a=Ec(a.height);null!=a&&(this.B.style.height=a.od);this.B.parentElement&&(null!=c&&c.Ul||null!=a&&a.Ul)&&(this.B.parentElement.style.display="block")}};
|
|
||||||
var Ic=function(a,c,f,g,h,l,n){zc.call(this,a,c,f,g,Jc,h,l,n);this.url=a;this.B=null;this.xA=gc();Bc(this,function(){var a;this.Pb("beforeparentopen");var c=_.sc(this.methods);c._onopen=this.UK;c._ready=this.Jg;c._onclose=this.TK;this.params._methods=_.tc(c,"..",this.xA,this,!0);c={};for(a in this.params)c[a]=ic(this.params[a]);var f=this.config.url;if(this.ss.hideUrlFromParent){a=window.name;var g=f,f=_.Bn(this.config.url,this.params,{},ic),h=c,c={};c._methods=h._methods;c["#opener"]=h["#opener"];
|
|
||||||
c["#urlindex"]=h["#urlindex"];c["#opener"]&&void 0!=h["#urlindex"]?(c["#opener"]=a+","+c["#opener"],a=g):(g=_.Ka(_.bb,"fUrl",[]),h=g.length,g[h]=f,_.bb.rUrl=ec,c["#opener"]=a,c["#urlindex"]=h,a=_.Rb.Pq(_.ta.location.href),f=_.P("iframes/relay_url_"+(0,window.encodeURIComponent)(a))||"/_/gapi/sibling/1/frame.html",a=a+f);f=a}_.Sb._open({url:f,openParams:this.ss,params:c,proxyId:this.xA,openedByProxyChain:this.dj})})};yc(Ic);Ic.prototype.G=function(){return this.B};
|
|
||||||
Ic.prototype.UK=function(a){this.B=a.childId;var c=uc(a,"..",this.B);_.sc(c,this);this.close=c._toclose;_.V.Uc[this.B]=this;this.ya&&this.methods._onopen&&(a._methods=_.tc(c,this.ya.Hh(),this.B,this,!1),this.methods._onopen(a))};Ic.prototype.Jg=function(a){var c=String(this.B),f=uc(a,"..",c);_.sc(a,this);_.sc(f,this);this.Pb("ready",a);this.ya&&this.methods._ready&&(a._methods=_.tc(f,this.ya.Hh(),c,this,!1),this.methods._ready(a))};
|
|
||||||
Ic.prototype.TK=function(a){if(this.ya&&this.methods._onclose)this.methods._onclose(a);else return a=this.Pb("close",a),delete _.V.Uc[this.B],a};
|
|
||||||
var Kc=function(a,c,f,g,h,l,n){zc.call(this,a,c,f,g,Jc,l,n);this.id=c.id||gc();this.G=h;g._close=this.close;this.onClosed=this.B;this.DF=0;Bc(this,function(){this.Pb("beforeparentopen");var c=_.sc(this.methods);this.params._methods=_.tc(c,"..",this.xA,this,!0);c={};c.queryParams=this.params;a=_.qa(_.ua,this.config.url,this.id,c);var f=h.openWindow(a);this.canAutoClose=function(a){a(h.jj(f))};h.Tm(f,this);this.DF=f})};yc(Kc);Kc.prototype.close=function(a){a=this.Pb("close",a);this.G.rk(this.DF);return a};
|
|
||||||
Kc.prototype.B=function(){this.Pb("close")};
|
|
||||||
(function(){_.V.Uc={};_.V.yf={};_.V.XR={};_.V.Kl=0;_.V.Rg={};_.V.bo={};_.V.Ng=null;_.V.Mg=[];_.V.Lr=function(a){var c=!1;try{if(null!=a)var h=window.parent.frames[a.id],c=h.iframer.id==a.id&&h.iframes.openedId_(_.Sb.id)}catch(l){}try{_.V.Ng={origin:this.origin,referer:this.referer,claimedOpenerId:a&&a.id,claimedOpenerProxyChain:a&&a.proxyChain||[],sameOrigin:c};for(a=0;a<_.V.Mg.length;++a)_.V.Mg[a](_.V.Ng);_.V.Mg=[]}catch(n){}};_.V.UI=function(a){var c=a&&a.ya,h=null;c&&(h={},h.id=c.Hh(),h.proxyChain=
|
|
||||||
a.dj);return h};bc();if(window.parent!=window){var a=_.R.dc();a.gcv&&oc(a.gcv);var c=a.jsh;c&&qc(c);_.sc(uc(a,"..",""),_.Sb);_.sc(a,_.Sb);ac()}_.V.Cr=Mc;_.V.na=Nc;_.V.xs=Qc;_.V.resize=Oc;_.V.Rp=function(a){return _.V.XR[a]};_.V.qj=function(a,c){_.V.XR[a]=c};_.V.rD=Oc;_.V.Ds=Qc;_.V.ng={};_.V.ng.get=Mc;_.V.ng.set=Nc;_.V.Zo=function(a,c){Zb(a);_.V.bo[a]=c||window[a]};_.V.Mt=function(a){delete _.V.bo[a]};_.V.open=function(a,c,h,l,n,q){3==arguments.length?l={}:4==arguments.length&&"function"===typeof l&&
|
|
||||||
(n=l,l={});var t="bubble"===c.style&&Pc?Pc.ma():null;return t?new Kc(a,c,h,l,t,n,q):vc(c)?new Ic(a,c,h,l,n,q):new Gc(a,c,h,l,n,q)};_.V.close=function(a,c){_.Sb&&_.Sb._close&&_.Sb._close(a,c)};_.V.ready=function(a,c,h){2==arguments.length&&"function"===typeof c&&(h=c,c={});var l=a||{};"height"in l||(l.height=_.Ob.Cd());l._methods=_.tc(c||{},"..","",_.Sb,!0);_.Sb&&_.Sb._ready&&_.Sb._ready(l,h)};_.V.Pk=function(a){_.V.Ng?a(_.V.Ng):_.V.Mg.push(a)};_.V.Ir=function(a){return!!_.V.Uc[a]};_.V.Vp=function(){return["https://ssl.gstatic.com/gb/js/",
|
|
||||||
_.P("googleapis.config/gcv")].join("")};_.V.Qr=function(a){var c={mouseover:1,mouseout:1};if(_.Sb._event)for(var h=0;h<a.length;h++){var l=a[h];l in c&&_.R.Ee(window.document,l,function(a){_.Sb._event({event:a.type,timestamp:(new Date).getTime()})},!0)}};_.V.zs=qc;_.V.pj=rc;_.V.kr=lc;_.V.dE=_.Sb})();
|
|
||||||
_.e("iframes.allow",_.V.Zo);_.e("iframes.callSiblingOpener",_.V.ip);_.e("iframes.registerForOpenedSibling",_.V.Sr);_.e("iframes.close",_.V.close);_.e("iframes.getGoogleConnectJsUri",_.V.Vp);_.e("iframes.getHandler",_.V.Cr);_.e("iframes.getDeferredHandler",_.V.Rp);_.e("iframes.getParentInfo",_.V.Pk);_.e("iframes.iframer",_.V.dE);_.e("iframes.open",_.V.open);_.e("iframes.openedId_",_.V.Ir);_.e("iframes.propagate",_.V.Qr);_.e("iframes.ready",_.V.ready);_.e("iframes.resize",_.V.resize);
|
|
||||||
_.e("iframes.setGoogleConnectJsVersion",_.V.xs);_.e("iframes.setBootstrapHint",_.V.pj);_.e("iframes.setJsHint",_.V.zs);_.e("iframes.setHandler",_.V.na);_.e("iframes.setDeferredHandler",_.V.qj);_.e("IframeBase",zc);_.e("IframeBase.prototype.addCallback",zc.prototype.ea);_.e("IframeBase.prototype.getMethods",zc.prototype.bi);_.e("IframeBase.prototype.getOpenerIframe",zc.prototype.ci);_.e("IframeBase.prototype.getOpenParams",zc.prototype.va);_.e("IframeBase.prototype.getParams",zc.prototype.tb);
|
|
||||||
_.e("IframeBase.prototype.removeCallback",zc.prototype.Ub);_.e("Iframe",Gc);_.e("Iframe.prototype.close",Gc.prototype.close);_.e("Iframe.prototype.exposeMethod",Gc.prototype.fg);_.e("Iframe.prototype.getId",Gc.prototype.Hh);_.e("Iframe.prototype.getIframeEl",Gc.prototype.rb);_.e("Iframe.prototype.getSiteEl",Gc.prototype.V);_.e("Iframe.prototype.openInto",Gc.prototype.Pa);_.e("Iframe.prototype.remove",Gc.prototype.remove);_.e("Iframe.prototype.setSiteEl",Gc.prototype.qc);
|
|
||||||
_.e("Iframe.prototype.addCallback",Gc.prototype.ea);_.e("Iframe.prototype.getMethods",Gc.prototype.bi);_.e("Iframe.prototype.getOpenerIframe",Gc.prototype.ci);_.e("Iframe.prototype.getOpenParams",Gc.prototype.va);_.e("Iframe.prototype.getParams",Gc.prototype.tb);_.e("Iframe.prototype.removeCallback",Gc.prototype.Ub);_.e("IframeProxy",Ic);_.e("IframeProxy.prototype.getTargetIframeId",Ic.prototype.G);_.e("IframeProxy.prototype.addCallback",Ic.prototype.ea);_.e("IframeProxy.prototype.getMethods",Ic.prototype.bi);
|
|
||||||
_.e("IframeProxy.prototype.getOpenerIframe",Ic.prototype.ci);_.e("IframeProxy.prototype.getOpenParams",Ic.prototype.va);_.e("IframeProxy.prototype.getParams",Ic.prototype.tb);_.e("IframeProxy.prototype.removeCallback",Ic.prototype.Ub);_.e("IframeWindow",Kc);_.e("IframeWindow.prototype.close",Kc.prototype.close);_.e("IframeWindow.prototype.onClosed",Kc.prototype.B);_.e("iframes.util.getTopMostAccessibleWindow",_.V.J.Uk);_.e("iframes.handlers.get",_.V.ng.get);_.e("iframes.handlers.set",_.V.ng.set); _.e("iframes.resizeMe",_.V.rD);_.e("iframes.setVersionOverride",_.V.Ds);
|
|
||||||
zc.prototype.send=function(a,c,f){_.V.Gr(this,a,c,f)};_.Sb.send=function(a,c,f){_.V.Gr(_.Sb,a,c,f)};zc.prototype.register=function(a,c){var f=this;f.ea(a,function(a){c.call(f,a)})};_.V.Gr=function(a,c,f,g){var h=[];void 0!==f&&h.push(f);g&&h.push(function(a){g.call(this,[a])});a[c]&&a[c].apply(a,h)};_.V.Fa=function(){return!0};_.e("iframes.CROSS_ORIGIN_IFRAMES_FILTER",_.V.Fa);_.e("IframeBase.prototype.send",zc.prototype.send);_.e("IframeBase.prototype.register",zc.prototype.register);
|
|
||||||
_.e("Iframe.prototype.send",Gc.prototype.send);_.e("Iframe.prototype.register",Gc.prototype.register);_.e("IframeProxy.prototype.send",Ic.prototype.send);_.e("IframeProxy.prototype.register",Ic.prototype.register);_.e("IframeWindow.prototype.send",Kc.prototype.send);_.e("IframeWindow.prototype.register",Kc.prototype.register);_.e("iframes.iframer.send",_.V.dE.send);
|
|
||||||
|
|
||||||
var gN=_.V.na,iN={open:function(a){var c=_.bf(a.va());return a.Pa(c,{style:_.gf(c)})},attach:function(a,c){var f=_.bf(a.va()),g=c.id,h=c.getAttribute("data-postorigin")||c.src,l=/#(?:.*&)?rpctoken=(\d+)/.exec(h),l=l&&l[1];a.id=g;a.G=l;a.ha=f;a.B=c;_.V.Uc[g]=a;l=_.sc(a.methods);l._ready=a.Jg;l._close=a.close;l._open=a.HB;l._resizeMe=a.Ug;l._renderstart=a.PA;_.tc(l,g,"",a,!0);_.T.Wg(a.id,a.G);_.T.Xg(a.id,h);var f=_.V.Wp({style:_.gf(f)}),n;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&("style"== n?a.B.style.cssText=f[n]:a.B.setAttribute(n,f[n]))}};iN.onready=_.hf;iN.onRenderStart=_.hf;iN.close=_.jf;gN("inline",iN);
|
|
||||||
|
|
||||||
_.At=(window.gapi||{}).load;
|
|
||||||
var pe;_.d=function(a,c){return _.aa[a]=c};_.re=function(a){var c=_.da(a);return"array"==c||"object"==c&&"number"==typeof a.length};pe=0;_.oe=function(a){return a[_.oa]||(a[_.oa]=++pe)};_.Vg=function(a){var c=typeof a;return"object"==c&&null!=a||"function"==c};_.vd=function(a){return"function"==_.da(a)};_.qe=function(a){return"number"==typeof a};
|
|
||||||
_.jd=function(a,c){return 0==a.lastIndexOf(c,0)};_.Ge=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};_.Gf=function(a,c){return Array(c+1).join(a)};_.ne=2147483648*Math.random()|0;_.Cg=function(a){return String(a).replace(/\-([a-z])/g,function(a,f){return f.toUpperCase()})};
|
|
||||||
_.ye=Array.prototype;_.we=_.ye.indexOf?function(a,c,f){return _.ye.indexOf.call(a,c,f)}:function(a,c,f){f=null==f?0:0>f?Math.max(0,a.length+f):f;if(_.fa(a))return _.fa(c)&&1==c.length?a.indexOf(c,f):-1;for(;f<a.length;f++)if(f in a&&a[f]===c)return f;return-1};
|
|
||||||
_.Wf=_.ye.lastIndexOf?function(a,c,f){return _.ye.lastIndexOf.call(a,c,null==f?a.length-1:f)}:function(a,c,f){f=null==f?a.length-1:f;0>f&&(f=Math.max(0,a.length+f));if(_.fa(a))return _.fa(c)&&1==c.length?a.lastIndexOf(c,f):-1;for(;0<=f;f--)if(f in a&&a[f]===c)return f;return-1};_.Be=_.ye.forEach?function(a,c,f){_.ye.forEach.call(a,c,f)}:function(a,c,f){for(var g=a.length,h=_.fa(a)?a.split(""):a,l=0;l<g;l++)l in h&&c.call(f,h[l],l,a)};
|
|
||||||
_.Ce=_.ye.filter?function(a,c,f){return _.ye.filter.call(a,c,f)}:function(a,c,f){for(var g=a.length,h=[],l=0,n=_.fa(a)?a.split(""):a,q=0;q<g;q++)if(q in n){var t=n[q];c.call(f,t,q,a)&&(h[l++]=t)}return h};_.De=_.ye.map?function(a,c,f){return _.ye.map.call(a,c,f)}:function(a,c,f){for(var g=a.length,h=Array(g),l=_.fa(a)?a.split(""):a,n=0;n<g;n++)n in l&&(h[n]=c.call(f,l[n],n,a));return h};
|
|
||||||
_.Ee=_.ye.some?function(a,c,f){return _.ye.some.call(a,c,f)}:function(a,c,f){for(var g=a.length,h=_.fa(a)?a.split(""):a,l=0;l<g;l++)if(l in h&&c.call(f,h[l],l,a))return!0;return!1};_.Fe=_.ye.every?function(a,c,f){return _.ye.every.call(a,c,f)}:function(a,c,f){for(var g=a.length,h=_.fa(a)?a.split(""):a,l=0;l<g;l++)if(l in h&&!c.call(f,h[l],l,a))return!1;return!0};_.ve=function(a,c){return 0<=(0,_.we)(a,c)}; _.Gl=function(a,c){for(var f=1;f<arguments.length;f++){var g=arguments[f];if(_.re(g)){var h=a.length||0,l=g.length||0;a.length=h+l;for(var n=0;n<l;n++)a[h+n]=g[n]}else a.push(g)}};
|
|
||||||
|
|
||||||
_.Uo=_.r();
|
|
||||||
_.Uu=function(a){var c=window;a=(a||c.location.href).match(/.*(\?|#|&)usegapi=([^&#]+)/)||[];return"1"===(0,window.decodeURIComponent)(a[a.length-1]||"")};
|
|
||||||
var dC,Yu,Zu,$u,Ak,Fk,Ck,Dk,Fm;_.Vu={apppackagename:1,callback:1,clientid:1,cookiepolicy:1,openidrealm:-1,includegrantedscopes:-1,requestvisibleactions:1,scope:1};_.Wu=!1;
|
|
||||||
_.Xu=function(){if(!_.Wu){for(var a=window.document.getElementsByTagName("meta"),c=0;c<a.length;++c){var f=a[c].name.toLowerCase();if(_.jd(f,"google-signin-")){var f=f.substring(14),g=a[c].content;_.Vu[f]&&g&&(_.Uo[f]=g)}}if(window.self!==window.top){var a=window.document.location.toString(),h;for(h in _.Vu)0<_.Vu[h]&&(c=_.Wa(a,h,""))&&(_.Uo[h]=c)}_.Wu=!0}h=_.r();_.Sl(_.Uo,h);return h};dC=function(a){return function(c,f){return a?_.ql()[f]||a[f]||"":_.ql()[f]||""}};Yu={button:!0,div:!0,span:!0};
|
|
||||||
Zu=function(a){return _.Ka(_.bb,"watt",_.r())[a]};$u=function(a){var c=_.Ka(_.bb,"sws",[]);return 0<=_.xd.call(c,a)};Ak=function(){};
|
|
||||||
Fk=function(a){var c=a.Ws,f=function(a){f.T.constructor.call(this,a);var c=this.Ya.length;this.B=[];for(var g=0;g<c;++g)this.Ya[g].zK||(this.B[g]=new this.Ya[g](a))};_.J(f,c);for(var g=[];a;){if(c=a.Ws){c.Ya&&_.Gl(g,c.Ya);var h=c.prototype,l;for(l in h)if(h.hasOwnProperty(l)&&_.vd(h[l])&&h[l]!==c){var n=!!h[l].RH,q=Ck(l,h,g,n);(n=Dk(l,h,q,n))&&(f.prototype[l]=n)}}a=a.T&&a.T.constructor}f.prototype.Ya=g;return f};
|
|
||||||
Ck=function(a,c,f,g){for(var h=[],l=0;l<f.length&&(f[l].prototype[a]===c[a]||(h.push(l),!g));++l);return h};
|
|
||||||
Dk=function(a,c,f,g){var h;f.length?g?h=function(c){var g=this.B[f[0]];return g?g[a].apply(this.B[f[0]],arguments):this.Ya[f[0]].prototype[a].apply(this,arguments)}:c[a].uH?h=function(c){var g;a:{g=Array.prototype.slice.call(arguments,0);for(var h=0;h<f.length;++h){var t=this.B[f[h]];if(t=t?t[a].apply(t,g):this.Ya[f[h]].prototype[a].apply(this,g)){g=t;break a}}g=!1}return g}:c[a].VF?h=function(c){var g;a:{g=Array.prototype.slice.call(arguments,0);for(var h=0;h<f.length;++h){var t=this.B[f[h]],t=t?
|
|
||||||
t[a].apply(t,g):this.Ya[f[h]].prototype[a].apply(this,g);if(null!=t){g=t;break a}}g=void 0}return g}:c[a].AE?h=function(c){for(var g=Array.prototype.slice.call(arguments,0),h=0;h<f.length;++h){var t=this.B[f[h]];t?t[a].apply(t,g):this.Ya[f[h]].prototype[a].apply(this,g)}}:h=function(c){for(var g=Array.prototype.slice.call(arguments,0),h=[],t=0;t<f.length;++t){var v=this.B[f[t]];h.push(v?v[a].apply(v,g):this.Ya[f[t]].prototype[a].apply(this,g))}return h}:g||c[a].uH||c[a].VF||c[a].AE?h=null:h=Fm;return h}; Fm=function(){return[]};Ak.prototype.G=function(a){if(this.B)for(var c=0;c<this.B.length;++c)if(this.B[c]instanceof a)return this.B[c];return null};
|
|
||||||
var Nn=function(a){return this.Vx.G(a)};var Xc;Xc=function(a){var c;a.match(/^https?%3A/i)&&(c=(0,window.decodeURIComponent)(a));return _.An(window.document,c?c:a)};_.Yc=function(a){a=a||"canonical";for(var c=window.document.getElementsByTagName("link"),f=0,g=c.length;f<g;f++){var h=c[f],l=h.getAttribute("rel");if(l&&l.toLowerCase()==a&&(h=h.getAttribute("href"))&&(h=Xc(h))&&null!=h.match(/^https?:\/\/[\w\-\_\.]+/i))return h}return window.location.href};_.md=function(){return window.location.origin||window.location.protocol+"//"+window.location.host};
|
|
||||||
_.Zc=function(a,c,f,g){return(a="string"==typeof a?a:void 0)?Xc(a):_.Yc(g)};_.fd=function(a,c,f){null==a&&f&&(a=f.db,null==a&&(a=f.gwidget&&f.gwidget.db));return a||void 0};_.gd=function(a,c,f){null==a&&f&&(a=f.ecp,null==a&&(a=f.gwidget&&f.gwidget.ecp));return a||void 0};
|
|
||||||
_.ld=function(a,c){return _.Zc(a,0,0,c.action?void 0:"publisher")};var Wo,av,Md,Ld,id,Gd,bv,nd;Wo={se:"0"};av={post:!0};Md={style:"position:absolute;top:-10000px;width:450px;margin:0px;border-style:none"};Ld="onPlusOne _ready _close _open _resizeMe _renderstart oncircled drefresh erefresh".split(" ");id=_.Ka(_.bb,"WI",_.r());Gd=["style","data-gapiscan"];
|
|
||||||
bv=function(a){for(var c=_.r(),f=0!=a.nodeName.toLowerCase().indexOf("g:"),g=0,h=a.attributes.length;g<h;g++){var l=a.attributes[g],n=l.name,q=l.value;0<=_.xd.call(Gd,n)||f&&0!=n.indexOf("data-")||"null"===q||"specified"in l&&!l.specified||(f&&(n=n.substr(5)),c[n.toLowerCase()]=q)}a=a.style;(f=nd(a&&a.height))&&(c.height=String(f));(a=nd(a&&a.width))&&(c.width=String(a));return c};
|
|
||||||
_.cv=function(a,c,f,g,h,l){var n;f.rd?n=c:(n=window.document.createElement("div"),c.setAttribute("data-gapistub",!0),n.style.cssText="position:absolute;width:450px;left:-10000px;",c.parentNode.insertBefore(n,c));l.siteElement=n;n.id||(n.id=_.lf(a));c=_.r();c[">type"]=a;_.Sl(f,c);a=_.tb(g,n,h);l.iframeNode=a;l.id=a.getAttribute("id")};_.lf=function(a){_.Ka(id,a,0);return"___"+a+"_"+id[a]++};nd=function(a){var c=void 0;"number"===typeof a?c=a:"string"===typeof a&&(c=(0,window.parseInt)(a,10));return c};
|
|
||||||
var Bd,Cd,Dd,Fd,dv=/(?:^|\s)g-((\S)*)(?:$|\s)/,ev={plusone:!0,autocomplete:!0,profile:!0,signin:!0,signin2:!0};Bd=_.Ka(_.bb,"SW",_.r());Cd=_.Ka(_.bb,"SA",_.r());Dd=_.Ka(_.bb,"SM",_.r());Fd=_.Ka(_.bb,"FW",[]);
|
|
||||||
var fv=function(a,c){var f;"string"===typeof a?f=window.document.getElementById(a):f=a;return f||c},hv=function(a,c){var f,g,h,l;_.gv("ps0");var n=fv(a,_.ua);g=_.ua.documentMode;if(n.querySelectorAll&&(!g||8<g)){g=c?[c]:_.kb(Bd).concat(_.kb(Cd)).concat(_.kb(Dd));h=[];for(var q=0;q<g.length;q++){var t=g[q];h.push(".g-"+t,"g\\:"+t)}g=n.querySelectorAll(h.join(","))}else g=n.getElementsByTagName("*");n=_.r();for(h=0;h<g.length;h++){q=g[h];var v=q,t=c,w=v.nodeName.toLowerCase(),A=void 0;v.getAttribute("data-gapiscan")?
|
|
||||||
t=null:(0==w.indexOf("g:")?A=w.substr(2):(v=(v=String(v.className||v.getAttribute("class")))&&dv.exec(v))&&(A=v[1]),t=!A||!(Bd[A]||Cd[A]||Dd[A])||t&&A!==t?null:A);t&&(ev[t]||0==q.nodeName.toLowerCase().indexOf("g:")||0!=_.kb(bv(q)).length)&&(q.setAttribute("data-gapiscan",!0),_.Ka(n,t,[]).push(q))}for(f in n)Fd.push(f);_.gv("ps1");if(f=Fd.join(":"))try{_.Ua.load(f,void 0)}catch(F){_.kd(F);return}q=[];for(l in n)for(h=n[l],g=0,f=h.length;g<f;g++)t=h[g],Hd(l,t,bv(t),q,f)};
|
|
||||||
var Id=function(a,c){var f=Zu(a);c&&f?(f(c),(f=c.iframeNode)&&f.setAttribute("data-gapiattached",!0)):_.Ua.load(a,function(){var f=Zu(a),h=c&&c.iframeNode,l=c&&c.userParams;h&&f?(f(c),h.setAttribute("data-gapiattached",!0)):(f=_.Ua[a].go,"signin2"==a?f(h,l):f(h&&h.parentNode,l))})},Hd=function(a,c,f,g,h,l){switch(Jd(c,a,l)){case 0:a=Dd[a]?a+"_annotation":a;g={};g.iframeNode=c;g.userParams=f;Id(a,g);break;case 1:if(c.parentNode){for(var n in f){if(l=_.Qa(f,n))l=f[n],l=!!l&&"object"===typeof l&&(!l.toString||
|
|
||||||
l.toString===Object.prototype.toString||l.toString===Array.prototype.toString);if(l)try{f[n]=(0,_.mf)(f[n])}catch(q){delete f[n]}}n=!0;f.dontclear&&(n=!1);delete f.dontclear;var t,v,w;l={};var A=w=a;"plus"==a&&f.action&&(w=a+"_"+f.action,A=a+"/"+f.action);(w=_.P("iframes/"+w+"/url"))||(w=":im_socialhost:/:session_prefix::im_prefix:_/widget/render/"+A+"?usegapi=1");for(v in Wo)l[v]=v+"/"+(f[v]||Wo[v])+"/";v=_.An(_.ua,w.replace(_.nc,dC(l)));A="iframes/"+a+"/params/";l={};_.Sl(f,l);(w=_.P("lang")||_.P("gwidget/lang"))&&
|
|
||||||
(l.hl=w);av[a]||(l.origin=_.md());l.exp=_.P(A+"exp");if(A=_.P(A+"location"))for(w=0;w<A.length;w++){var F=A[w];l[F]=_.ta.location[F]}switch(a){case "plus":case "follow":l.url=_.ld(l.href,f);delete l.href;break;case "plusone":A=(A=f.href)?Xc(A):_.Yc();l.url=A;l.db=_.fd(f.db,0,_.P());l.ecp=_.gd(f.ecp,0,_.P());delete l.href;break;case "signin":l.url=_.Yc()}_.bb.ILI&&(l.iloader="1");delete l["data-onload"];delete l.rd;for(var z in Wo)l[z]&&delete l[z];l.gsrc=_.P("iframes/:source:");z=_.P("inline/css");
|
|
||||||
"undefined"!==typeof z&&0<h&&z>=h&&(l.ic="1");z=/^#|^fr-/;h={};for(var I in l)_.Qa(l,I)&&z.test(I)&&(h[I.replace(z,"")]=l[I],delete l[I]);I="q"==_.P("iframes/"+a+"/params/si")?l:h;z=_.Xu();for(t in z)!_.Qa(z,t)||_.Qa(l,t)||_.Qa(h,t)||(I[t]=z[t]);t=[].concat(Ld);I=_.P("iframes/"+a+"/methods");_.cb(I)&&(t=t.concat(I));for(var E in f)_.Qa(f,E)&&/^on/.test(E)&&("plus"!=a||"onconnect"!=E)&&(t.push(E),delete l[E]);delete l.callback;h._methods=t.join(",");t=_.Bn(v,l,h);I={allowPost:1,attributes:Md};I.dontclear=
|
|
||||||
!n;E={};E.userParams=f;E.url=t;E.type=a;_.cv(a,c,f,t,I,E);c=E.id;f=_.r();f.id=c;f.userParams=E.userParams;f.url=E.url;f.type=E.type;f.state=1;_.Tc[c]=f;c=E}else c=null;c&&((f=c.id)&&g.push(f),Id(a,c))}},Jd=function(a,c,f){if(a&&1===a.nodeType&&c){if(f)return 1;if(Dd[c]){if(Yu[a.nodeName.toLowerCase()])return(a=a.innerHTML)&&a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}else{if(Cd[c])return 0;if(Bd[c])return 1}}return null};
|
|
||||||
_.Ka(_.Ua,"platform",{}).go=function(a,c){hv(a,c)};var Rd=_.Ka(_.bb,"perf",_.r()),yd=_.Ka(Rd,"g",_.r()),Ud=_.Ka(Rd,"i",_.r()),Pd,Qd,Od,Ad,Td,Vd;_.Ka(Rd,"r",[]);Pd=_.r();Qd=_.r();Od=function(a,c,f,g){Pd[f]=Pd[f]||!!g;_.Ka(Qd,f,[]);Qd[f].push([a,c])};Ad=function(a,c,f){var g=Rd.r;"function"===typeof g?g(a,c,f):g.push([a,c,f])};_.gv=function(a,c){var f=c||(new Date).getTime();yd[a]=f;Ad(a)};_.Sd=function(a,c,f,g){if("_p"==c)throw Error("Ra");_.nf(a,c,f,g)};_.nf=function(a,c,f,g){Td(c,f)[a]=g||(new Date).getTime();Ad(a,c,f)}; Td=function(a,c){var f=_.Ka(Ud,a,_.r());return _.Ka(f,c,_.r())};Vd=function(a,c,f){var g=null;c&&f&&(g=Td(c,f)[a]);return g||yd[a]};_.iv=function(a,c,f,g,h,l){_.Sd("wrt0",a,c,f);_.Sd("wrt1",a,c,g);_.Sd("wrt2",a,c,h);_.Sd("wrt3",a,c,l)};
|
|
||||||
(function(){function a(a){this.t={};this.tick=function(a,c,f){var g=void 0!=f?f:(new Date).getTime();this.t[a]=[g,c];if(void 0==f)try{window.console.timeStamp("CSI/"+a)}catch(h){}};this.tick("start",null,a)}var c;window.performance&&(c=window.performance.timing);var f=c?new a(c.responseStart):new a;window.__gapi_jstiming__={Timer:a,load:f};if(c){var g=c.navigationStart,h=c.responseStart;0<g&&h>=g&&(window.__gapi_jstiming__.srt=h-g)}if(c){var l=window.__gapi_jstiming__.load;0<g&&h>=g&&(l.tick("_wtsrt",
|
|
||||||
void 0,g),l.tick("wtsrt_","_wtsrt",h),l.tick("tbsd_","wtsrt_"))}try{c=null,window.chrome&&window.chrome.csi&&(c=Math.floor(window.chrome.csi().pageT),l&&0<g&&(l.tick("_tbnd",void 0,window.chrome.csi().startE),l.tick("tbnd_","_tbnd",g))),null==c&&window.gtbExternal&&(c=window.gtbExternal.pageT()),null==c&&window.external&&(c=window.external.pageT,l&&0<g&&(l.tick("_tbnd",void 0,window.external.startE),l.tick("tbnd_","_tbnd",g))),c&&(window.__gapi_jstiming__.pt=c)}catch(n){}})();
|
|
||||||
if(window.__gapi_jstiming__){window.__gapi_jstiming__.Pz={};window.__gapi_jstiming__.Yr=1;var he=function(a,c,f){var g=a.t[c],h=a.t.start;if(g&&(h||f))return g=a.t[c][0],void 0!=f?h=f:h=h[0],Math.round(g-h)};window.__gapi_jstiming__.getTick=he;window.__gapi_jstiming__.getLabels=function(a){var c=[],f;for(f in a.t)c.push(f);return c};var ie=function(a,c,f){var g="";window.__gapi_jstiming__.srt&&(g+="&srt="+window.__gapi_jstiming__.srt);window.__gapi_jstiming__.pt&&(g+="&tbsrt="+window.__gapi_jstiming__.pt);
|
|
||||||
try{window.external&&window.external.tran?g+="&tran="+window.external.tran:window.gtbExternal&&window.gtbExternal.tran?g+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(g+="&tran="+window.chrome.csi().tran)}catch(h){}var l=window.chrome;if(l&&(l=l.loadTimes)){l().wasFetchedViaSpdy&&(g+="&p=s");if(l().wasNpnNegotiated){var g=g+"&npn=1",n=l().npnNegotiatedProtocol;n&&(g+="&npnv="+(window.encodeURIComponent||window.escape)(n))}l().wasAlternateProtocolAvailable&&(g+="&apa=1")}var q=
|
|
||||||
a.t,t=q.start,l=[],n=[],v;for(v in q)if("start"!=v&&0!=v.indexOf("_")){var w=q[v][1];w?q[w]&&n.push(v+"."+he(a,v,q[w][0])):t&&l.push(v+"."+he(a,v))}if(c)for(var A in c)g+="&"+A+"="+c[A];(c=f)||(c="https:"==window.document.location.protocol?"https://csi.gstatic.com/csi":"http://csi.gstatic.com/csi");return[c,"?v=3","&s="+(window.__gapi_jstiming__.sn||"oz")+"&action=",a.name,n.length?"&it="+n.join(","):"",g,"&rt=",l.join(",")].join("")},je=function(a,c,f){a=ie(a,c,f);if(!a)return"";c=new window.Image;
|
|
||||||
var g=window.__gapi_jstiming__.Yr++;window.__gapi_jstiming__.Pz[g]=c;c.onload=c.onerror=function(){window.__gapi_jstiming__&&delete window.__gapi_jstiming__.Pz[g]};c.src=a;c=null;return a};window.__gapi_jstiming__.report=function(a,c,f){if("prerender"==window.document.webkitVisibilityState){var g=!1,h=function(){if(!g){c?c.prerender="1":c={prerender:"1"};var l;"prerender"==window.document.webkitVisibilityState?l=!1:(je(a,c,f),l=!0);l&&(g=!0,window.document.removeEventListener("webkitvisibilitychange", h,!1))}};window.document.addEventListener("webkitvisibilitychange",h,!1);return""}return je(a,c,f)}};
|
|
||||||
var fe=[73,74,77,78],ee={g:"gapi_global",m:"gapi_module",w:"gwidget"},Wd=function(a,c){this.type=a?"_p"==a?"m":"w":"g";this.name=a;this.B=c};Wd.prototype.key=function(){switch(this.type){case "g":return this.type;case "m":return this.type+"."+this.B;case "w":return this.type+"."+this.name+this.B}};
|
|
||||||
var ce=new Wd,Yd=window.navigator.userAgent.match(/iPhone|iPad|Android|PalmWebOS|Maemo|Bada/),$d=_.Ka(Rd,"_c",_.r()),ae=Math.random()<(_.P("csi/rate")||0),Zd=function(a,c,f){for(var g=new Wd(c,f),h=_.Ka($d,g.key(),_.r()),l=Qd[a]||[],n=0;n<l.length;++n){var q=l[n],t=q[0],v=a,w=c,A=f,q=Vd(q[1],w,A),v=Vd(v,w,A);h[t]=q&&v?v-q:null}Pd[a]&&ae&&(be(ce),be(g))},de=function(a,c){c=c||[];for(var f=[],g=0;g<c.length;g++)f.push(a+c[g]);return f},Zo=function(a,c){var f=[];f.push("l"+(_.P("isPlusUser")?"1":"0"));
|
|
||||||
var g="m"+(Yd?"1":"0");f.push(g);if("m"==a.type)f.push("p"+a.B);else if("w"==a.type){var h="n"+a.B;f.push(h);"0"==a.B&&f.push(g+h)}f.push("u"+(_.P("isLoggedIn")?"1":"0"));return de(c?"e"+c:"",f)},be=function(a){var c=_.ta.__gapi_jstiming__;c.sn=ee[a.type];var f=new c.Timer(0),g;a:{switch(a.type){case "g":g="global";break a;case "m":g=a.B;break a;case "w":g=a.name;break a}g=void 0}f.name=g;g=!1;var h=a.key(),l=$d[h];f.tick("_start",null,0);for(var n in l)f.tick(n,"_start",l[n]),g=!0;$d[h]=_.r();if(g){n=
|
|
||||||
[];g=_.P("lexps");n=n.concat(de("e",g));n=n.concat(Zo(a));for(h=0;h<fe.length;h++)l=fe[h],0<=_.xd.call(g,l)&&(n=n.concat(Zo(a,l)));n=de("abc_",n);c.report(f,{e:n.join(",")})}};Od("blt","bs0","bs1");Od("psi","ps0","ps1");Od("rpcqi","rqe","rqd");Od("bsprt","bsrt0","bsrt1");Od("bsrqt","bsrt1","bsrt2");Od("bsrst","bsrt2","bsrt3");Od("mli","ml0","ml1");Od("mei","me0","me1",!0);Od("wcdi","wrs","wcdi");Od("wci","wrs","wdc");Od("wdi","wrs","wrdi");Od("wdt","bs0","wrdt");Od("wri","wrs","wrri",!0);
|
|
||||||
Od("wrt","bs0","wrrt");Od("wji","wje0","wje1",!0);Od("wjli","wjl0","wjl1");Od("whi","wh0","wh1",!0);Od("wai","waaf0","waaf1",!0);Od("wadi","wrs","waaf1",!0);Od("wadt","bs0","waaf1",!0);Od("wprt","wrt0","wrt1");Od("wrqt","wrt1","wrt2");Od("wrst","wrt2","wrt3",!0);Od("fbprt","fsrt0","fsrt1");Od("fbrqt","fsrt1","fsrt2");Od("fbrst","fsrt2","fsrt3",!0);Od("fdns","fdns0","fdns1");Od("fcon","fcon0","fcon1");Od("freq","freq0","freq1");Od("frsp","frsp0","frsp1");Od("fttfb","fttfb0","fttfb1"); Od("ftot","ftot0","ftot1",!0);var ws=Rd.r;if("function"!==typeof ws){for(var ku;ku=ws.shift();)Zd.apply(null,ku);Rd.r=Zd};
|
|
||||||
var Rt=["div"],jC="onload",zx=!0,cB=!0,gg=function(a){return a},gC=null,Kg=function(a){var c=_.P(a);return"undefined"!==typeof c?c:_.P("gwidget/"+a)},gC=_.P(),ov,pv,Uj,En,Ft,It,Mt,Jt,St,tw,Ds,xx,uv,vv,Cv,Tt,sw,Ev,Ut,eC,fC,hC,Fv;_.P("gwidget");var bw=Kg("parsetags"),jC="explicit"===bw||"onload"===bw?bw:jC,jw=Kg("google_analytics");"undefined"!==typeof jw&&(zx=!!jw);var wx=Kg("data_layer");"undefined"!==typeof wx&&(cB=!!wx);ov=function(){var a=this&&this.Hh();a&&(_.bb.drw=a)};
|
|
||||||
pv=function(){_.bb.drw=null};Uj=function(a){return function(c){var f=a;"number"===typeof c?f=c:"string"===typeof c&&(f=c.indexOf("px"),-1!=f&&(c=c.substring(0,f)),f=(0,window.parseInt)(c,10));return f}};En=function(a){"string"===typeof a&&(a=window[a]);return"function"===typeof a?a:null};Ft=function(){return Kg("lang")||"en-US"};
|
|
||||||
It=function(a){if(!_.V.Cr("attach")){var c={},f=_.V.Cr("inline"),g;for(g in f)f.hasOwnProperty(g)&&(c[g]=f[g]);c.open=function(a){var c=a.va().renderData.id,c=window.document.getElementById(c);if(!c)throw Error("o");return f.attach(a,c)};_.V.na("attach",c)}a.style="attach"};Mt=function(){var a={};a.width=[Uj(450)];a.height=[Uj(24)];a.onready=[En];a.lang=[Ft,"hl"];a.iloader=[function(){return _.bb.ILI},"iloader"];return a}();
|
|
||||||
Jt=function(a){var c={};c.Fb=a[0];c.Kj=-1;c.tn="___"+c.Fb+"_";c.Xs="g:"+c.Fb;c.Wt="g-"+c.Fb;c.Dm=[];c.config={};c.jd=[];c.Rh={};c.Ie={};var f=function(a){for(var f in a)if(_.Qa(a,f)){c.config[f]=[En];c.jd.push(f);var g=a[f],q=null,t=null,v=null;"function"===typeof g?q=g:g&&"object"===typeof g&&(q=g.Er,t=g.Kg,v=g.Qh);v&&(c.jd.push(v),c.config[v]=[En],c.Rh[f]=v);q&&(c.config[f]=[q]);t&&(c.Ie[f]=t)}},g=function(a){for(var f={},g=0;g<a.length;++g)f[a[g].toLowerCase()]=1;f[c.Xs]=1;c.nr=f};a[1]&&(c.Jr=
|
|
||||||
a[1]);(function(a){c.config=a;for(var f in Mt)Mt.hasOwnProperty(f)&&!c.config.hasOwnProperty(f)&&(c.config[f]=Mt[f])})(a[2]||{});a[3]&&f(a[3]);a[4]&&g(a[4]);a[5]&&(c.qe=a[5]);c.nu=!0===a[6];c.Or=a[7];c.lM=a[8];c.nr||g(Rt);c.bj=function(a){c.Kj++;_.Sd("wrs",c.Fb,String(c.Kj));var f=[],g=a.element,q=a.config,t=":"+c.Fb;":plus"==t&&a.pe&&a.pe.action&&(t+="_"+a.pe.action);var v=St(c,q),w={};_.Sl(_.Xu(),w);for(var A in a.pe)null!=a.pe[A]&&(w[A]=a.pe[A]);A={container:g.id,renderData:a.Xr,style:"inline",
|
|
||||||
height:q.height,width:q.width};It(A);c.qe&&(f[2]=A,f[3]=w,f[4]=v,c.qe("i",f));t=_.V.open(t,A,w,v);(0,_.qv)(c,t,q,g,a.xp);f[5]=t;c.qe&&c.qe("e",f)};return c};St=function(a,c){for(var f={},g=a.jd.length-1;0<=g;--g){var h=a.jd[g],l=c[a.Rh[h]||h]||c[h],n=c[h];n&&l!==n&&(l=function(a,c){return function(f){c.apply(this,arguments);a.apply(this,arguments)}}(l,n));l&&(f[h]=l)}for(var q in a.Ie)a.Ie.hasOwnProperty(q)&&(f[q]=tw(f[q]||function(){},a.Ie[q]));f.drefresh=ov;f.erefresh=pv;return f};
|
|
||||||
tw=function(a,c){return function(f){var g=c(f);if(g){var h=f.href||null;if(zx){if(window._gat)try{var l=window._gat._getTrackerByName("~0");l&&"UA-XXXXX-X"!=l._getAccount()?l._trackSocial("Google",g,h):window._gaq&&window._gaq.push(["_trackSocial","Google",g,h])}catch(n){}if(window.ga&&window.ga.getAll)try{for(var q=window.ga.getAll(),l=0;l<q.length;l++)q[l].send("social","Google",g,h)}catch(t){}}if(cB&&window.dataLayer)try{window.dataLayer.push({event:"social",socialNetwork:"Google",socialAction:g,
|
|
||||||
socialTarget:h})}catch(v){}}a.call(this,f)}};_.qv=function(a,c,f,g,h){Tt(c,f);Ut(c,g);sw(a,c,h);XF(a.Fb,a.Kj.toString(),c);(new Ds).Vx.Ep(a,c,f,g,h)};Ds=function(){if(!this.Vx){for(var a=this.constructor;a&&!a.Ws;)a=a.T&&a.T.constructor;a.Ws.UD||(a.Ws.UD=Fk(a));this.Vx=new a.Ws.UD(this);this.G||(this.G=Nn)}};_.Gs=function(){};xx=Ds;_.Gs.T||_.J(_.Gs,Ak);xx.Ws=_.Gs;_.Gs.prototype.Ep=function(a){a=a?a:function(){};a.AE=!0;return a}();uv=function(a){return _.Rm&&a instanceof _.Rm};
|
|
||||||
vv=function(a){return uv(a)?"_renderstart":"renderstart"};Cv=function(a){return uv(a)?"_ready":"ready"};_.Dv=function(){return!0};Tt=function(a,c){if(c.onready){var f=!1,g=function(){f||(f=!0,c.onready.call(null))};a.register(Cv(a),g,_.Dv);a.register(vv(a),g,_.Dv)}};
|
|
||||||
sw=function(a,c,f){var g=a.Fb,h=String(a.Kj),l=!1,n=function(){l||(l=!0,f&&_.Sd("wrdt",g,h),_.Sd("wrdi",g,h))};c.register(vv(c),n,_.Dv);var q=!1;a=function(){q||(q=!0,n(),f&&_.Sd("wrrt",g,h),_.Sd("wrri",g,h))};c.register(Cv(c),a,_.Dv);uv(c)?c.register("widget-interactive-"+c.id,a,_.Dv):_.T.register("widget-interactive-"+c.id,a);_.T.register("widget-csi-tick-"+c.id,function(a,c,f){"wdc"===a?_.Sd("wdc",g,h,f):"wje0"===a?_.Sd("wje0",g,h,f):"wje1"===a?_.Sd("wje1",g,h,f):"wh0"==a?_.nf("wh0",g,h,f):"wh1"==
|
|
||||||
a?_.nf("wh1",g,h,f):"wcdi"==a&&_.nf("wcdi",g,h,f)})};Ev=function(a){return"number"==typeof a?a+"px":"100%"==a?a:null};Ut=function(a,c){var f=function(f){f=f||a;var h=Ev(f.width);h&&c.style.width!=h&&(c.style.width=h);(f=Ev(f.height))&&c.style.height!=f&&(c.style.height=f)};uv(a)?a.Vm("onRestyle",f):(a.register("ready",f,_.Dv),a.register("renderstart",f,_.Dv),a.register("resize",f,_.Dv))};eC=function(a,c){for(var f in Mt)if(Mt.hasOwnProperty(f)){var g=Mt[f][1];g&&!c.hasOwnProperty(g)&&(c[g]=a[g])}return c};
|
|
||||||
fC=function(a,c){var f={},g;for(g in a)a.hasOwnProperty(g)&&(f[a[g][1]||g]=(a[g]&&a[g][0]||gg)(c[g.toLowerCase()],c,gC));return f};hC=function(a){if(a=a.Or)for(var c=0;c<a.length;c++)(new window.Image).src=a[c]};Fv=function(a,c){var f=c.userParams,g=c.siteElement;g||(g=(g=c.iframeNode)&&g.parentNode);if(g&&1===g.nodeType){var h=fC(a.config,f);a.Dm.push({element:g,config:h,pe:eC(h,fC(a.Jr,f)),Sg:3,xp:!!f["data-onload"],Xr:c})}f=a.Dm;for(g=a.bj;0<f.length;)g(f.shift())};
|
|
||||||
_.iC=function(a){var c=Jt(a);hC(c);_.Sc(c.Fb,function(a){Fv(c,a)});Bd[c.Fb]=!0;var f={S:function(a,f){var l=f||{};l.type=c.Fb;var n=l.type;delete l.type;var q=fv(a);if(q){var t={},v;for(v in l)_.Qa(l,v)&&(t[v.toLowerCase()]=l[v]);t.rd=1;(l=!!t.ri)&&delete t.ri;Hd(n,q,t,[],0,l)}else _.kd("string"==="gapi."+n+".render: missing element "+typeof a?a:"")},go:function(a){hv(a,c.Fb)},B:function(){var a=_.Ka(_.bb,"WI",_.r()),c;for(c in a)delete a[c]}};a=function(){"onload"===jC&&f.go()};$u(c.Fb)||_.rh(a, a);_.e("gapi."+c.Fb+".go",f.go);_.e("gapi."+c.Fb+".render",f.S);return f};
|
|
||||||
var Gv=Fv,Hv=function(a,c){a.Kj++;_.Sd("wrs",a.Fb,String(a.Kj));var f=c.userParams,g=fC(a.config,f),h=[],l=c.iframeNode,n=c.siteElement,q=St(a,g),t=fC(a.Jr,f);_.Sl(_.Xu(),t);var t=eC(g,t),f=!!f["data-onload"],v=_.Sm,w=_.r();w.renderData=c;w.height=g.height;w.width=g.width;w.id=c.id;w.url=c.url;w.iframeEl=l;w.where=w.container=n;w.apis=["_open"];w.messageHandlers=q;w.messageHandlersFilter=_.Vz;_.Ru(w);l=t;a.qe&&(h[2]=w,h[3]=l,h[4]=q,a.qe("i",h));q=v.Pe(w);q.id=c.id;q.NA(q,w);(0,_.qv)(a,q,g,n,f);h[5]= q;a.qe&&a.qe("e",h)},Fv=function(a,c){var f=c.url;a.lM||_.Uu(f)?_.jo?Hv(a,c):(0,_.At)("gapi.iframes.impl",function(){Hv(a,c)}):_.V.open?Gv(a,c):(0,_.At)("iframes",function(){Gv(a,c)})};
|
|
||||||
var XF;_.Iv=function(){var a=window;return!!a.performance&&!!a.performance.getEntries};_.Jv=function(a){var c=a.indexOf("#");-1!=c&&(a=a.substring(0,c));a=window.performance.getEntriesByName(a);if(1>a.length)return null;a=a[0];return 0==a.responseStart?null:a};
|
|
||||||
XF=function(a,c,f){if(_.Iv()){var g=function(){var a=!1;return function(){if(a)return!0;a=!0;return!1}}(),h=function(){g()||window.setTimeout(function(){var g=_.Jv(f.rb().src);g&&_.iv(a,c,Math.round(g.startTime),Math.round(g.requestStart),Math.round(g.responseStart),Math.round(g.responseEnd))},1E3)};f.register(vv(f),h,_.Dv);f.register(Cv(f),h,_.Dv)}};
|
|
||||||
_.e("gapi.widget.make",_.iC);
|
|
||||||
_.Up=function(a){a.ma=function(){return a.Tl?a.Tl:a.Tl=new a}};_.Li=function(a){var c=[],f=0,g;for(g in a)c[f++]=a[g];return c};_.Ki=function(a){var c=[],f=0,g;for(g in a)c[f++]=g;return c};_.hi=function(a,c){for(var f in a)if(a[f]==c)return!0;return!1};
|
|
||||||
a:{var Oe=_.D.navigator;if(Oe){var pg=Oe.userAgent;if(pg){_.We=pg;break a}}_.We=""}_.pf=function(a){return-1!=_.We.indexOf(a)};_.lm=function(){return _.pf("Edge")||_.pf("Trident")||_.pf("MSIE")};
|
|
||||||
_.gh=function(){};_.ih=[];_.kh=[];_.jh=!1;_.hh=function(a){_.ih[_.ih.length]=a;if(_.jh)for(var c=0;c<_.kh.length;c++)a((0,_.H)(_.kh[c].wrap,_.kh[c]))};
|
|
||||||
var hD;_.se=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,_.se);else{var c=Error().stack;c&&(this.stack=c)}a&&(this.message=String(a))};_.J(_.se,Error);_.se.prototype.name="CustomError";_.vC=function(a){return a};_.rf=function(a){var c={},f;for(f in a)c[f]=a[f];return c};_.Og=function(a){for(var c in a)return!1;return!0};
|
|
||||||
_.RE=function(a){for(var c={},f=0,g=0;g<a.length;){var h=a[g++],l=_.Vg(h)?"o"+_.oe(h):(typeof h).charAt(0)+h;Object.prototype.hasOwnProperty.call(c,l)||(c[l]=!0,a[f++]=h)}a.length=f};hD=function(a,c,f){this.M=f;this.ha=a;this.qa=c;this.G=0;this.B=null};hD.prototype.get=function(){var a;0<this.G?(this.G--,a=this.B,this.B=a.next,a.next=null):a=this.ha();return a};hD.prototype.put=function(a){this.qa(a);this.G<this.M&&(this.G++,a.next=this.B,this.B=a)};
|
|
||||||
var tp,$o,ep,Yo;tp=function(a){_.D.setTimeout(function(){throw a;},0)};_.qk=function(a){a=Yo(a);!_.vd(_.D.setImmediate)||_.D.Window&&_.D.Window.prototype&&_.D.Window.prototype.setImmediate==_.D.setImmediate?($o||($o=ep()),$o(a)):_.D.setImmediate(a)};
|
|
||||||
ep=function(){var a=_.D.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!_.pf("Presto")&&(a=function(){var a=window.document.createElement("IFRAME");a.style.display="none";a.src="";window.document.documentElement.appendChild(a);var c=a.contentWindow,a=c.document;a.open();a.write("");a.close();var f="callImmediate"+Math.random(),g="file:"==c.location.protocol?"*":c.location.protocol+"//"+c.location.host,a=(0,_.H)(function(a){if(("*"==
|
|
||||||
g||a.origin==g)&&a.data==f)this.port1.onmessage()},this);c.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){c.postMessage(f,g)}}});if("undefined"!==typeof a&&!_.lm()){var c=new a,f={},g=f;c.port1.onmessage=function(){if(_.kf(f.next)){f=f.next;var a=f.xC;f.xC=null;a()}};return function(a){g.next={xC:a};g=g.next;c.port2.postMessage(0)}}return"undefined"!==typeof window.document&&"onreadystatechange"in window.document.createElement("SCRIPT")?function(a){var c=window.document.createElement("SCRIPT"); c.onreadystatechange=function(){c.onreadystatechange=null;c.parentNode.removeChild(c);c=null;a();a=null};window.document.documentElement.appendChild(c)}:function(a){_.D.setTimeout(a,0)}};Yo=_.vC;_.hh(function(a){Yo=a});
|
|
||||||
var LD=function(){this.G=this.B=null},xE=new hD(function(){return new uE},function(a){a.reset()},100);LD.prototype.add=function(a,c){var f=xE.get();f.set(a,c);this.G?this.G.next=f:this.B=f;this.G=f};LD.prototype.remove=function(){var a=null;this.B&&(a=this.B,this.B=this.B.next,this.B||(this.G=null),a.next=null);return a};var uE=function(){this.next=this.scope=this.Ip=null};uE.prototype.set=function(a,c){this.Ip=a;this.scope=c;this.next=null}; uE.prototype.reset=function(){this.next=this.scope=this.Ip=null};
|
|
||||||
var Qp=function(a,c){um||Pm();up||(um(),up=!0);Lp.add(a,c)},um,Pm=function(){if(_.D.Promise&&_.D.Promise.resolve){var a=_.D.Promise.resolve();um=function(){a.then(Ap)}}else um=function(){_.qk(Ap)}},up=!1,Lp=new LD,Ap=function(){for(var a=null;a=Lp.remove();){try{a.Ip.call(a.scope)}catch(c){tp(c)}xE.put(a)}up=!1};
|
|
||||||
_.Rp=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0};_.Wp=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(c){return!1}};var Xq,Bs,Dt;_.C=function(a,c){this.B=0;this.wc=void 0;this.M=this.G=this.ha=null;this.qa=this.Ka=!1;if(a==_.yk)hq(this,2,c);else try{var f=this;a.call(c,function(a){hq(f,2,a)},function(a){hq(f,3,a)})}catch(g){hq(this,3,g)}};Xq=function(){this.next=this.ha=this.G=this.M=this.B=null;this.qa=!1};Xq.prototype.reset=function(){this.ha=this.G=this.M=this.B=null;this.qa=!1};Bs=new hD(function(){return new Xq},function(a){a.reset()},100);Dt=function(a,c,f){var g=Bs.get();g.M=a;g.G=c;g.ha=f;return g};
|
|
||||||
_.yk=function(){};_.C.prototype.then=function(a,c,f){return uq(this,_.vd(a)?a:null,_.vd(c)?c:null,f)};_.Rp(_.C);_.$t=function(a,c,f,g){a instanceof _.C?lr(a,Dt(c||_.gh,f||null,g)):a.then(c,f,g)};_.C.prototype.cancel=function(a){0==this.B&&Qp(function(){var c=new tq(a);Mq(this,c)},this)};
|
|
||||||
var Mq=function(a,c){if(0==a.B)if(a.ha){var f=a.ha;if(f.G){for(var g=0,h=null,l=null,n=f.G;n&&(n.qa||(g++,n.B==a&&(h=n),!(h&&1<g)));n=n.next)h||(l=n);h&&(0==f.B&&1==g?Mq(f,c):(l?(g=l,g.next==f.M&&(f.M=g),g.next=g.next.next):ju(f),Wq(f,h,3,c)))}a.ha=null}else hq(a,3,c)},lr=function(a,c){a.G||2!=a.B&&3!=a.B||er(a);a.M?a.M.next=c:a.G=c;a.M=c},uq=function(a,c,f,g){var h=Dt(null,null,null);h.B=new _.C(function(a,n){h.M=c?function(f){try{var h=c.call(g,f);a(h)}catch(v){n(v)}}:a;h.G=f?function(c){try{var h=
|
|
||||||
f.call(g,c);!_.kf(h)&&c instanceof tq?n(c):a(h)}catch(v){n(v)}}:n});h.B.ha=a;lr(a,h);return h.B};_.C.prototype.Ld=function(a){this.B=0;hq(this,2,a)};_.C.prototype.ye=function(a){this.B=0;hq(this,3,a)};
|
|
||||||
var hq=function(a,c,f){if(0==a.B){if(a==f)c=3,f=new TypeError("Promise cannot resolve to itself");else{if(_.Wp(f)){a.B=1;_.$t(f,a.Ld,a.ye,a);return}if(_.Vg(f))try{var g=f.then;if(_.vd(g)){mr(a,f,g);return}}catch(h){c=3,f=h}}a.wc=f;a.B=c;a.ha=null;er(a);3!=c||f instanceof tq||wq(a,f)}},mr=function(a,c,f){a.B=1;var g=!1,h=function(c){g||(g=!0,a.Ld(c))},l=function(c){g||(g=!0,a.ye(c))};try{f.call(c,h,l)}catch(n){l(n)}},er=function(a){a.Ka||(a.Ka=!0,Qp(a.Kh,a))},ju=function(a){var c=null;a.G&&(c=a.G,
|
|
||||||
a.G=c.next,c.next=null);a.G||(a.M=null);return c};_.C.prototype.Kh=function(){for(var a=null;a=ju(this);)Wq(this,a,this.B,this.wc);this.Ka=!1};var Wq=function(a,c,f,g){if(3==f&&c.G&&!c.qa)for(;a&&a.qa;a=a.ha)a.qa=!1;if(c.B)c.B.ha=null,xs(c,f,g);else try{c.qa?c.M.call(c.ha):xs(c,f,g)}catch(h){nr.call(null,h)}Bs.put(c)},xs=function(a,c,f){2==c?a.M.call(a.ha,f):a.G&&a.G.call(a.ha,f)},wq=function(a,c){a.qa=!0;Qp(function(){a.qa&&nr.call(null,c)})},nr=tp,tq=function(a){_.se.call(this,a)};_.J(tq,_.se); tq.prototype.name="cancel";
|
|
||||||
|
|
||||||
_.Fu=function(a){return new _.C(a)};
|
|
||||||
var AB=function(a){this.B=a};_.k=AB.prototype;_.k.value=function(){return this.B};_.k.Es=function(a){this.B.width=a;return this};_.k.Ne=function(){return this.B.width};_.k.Rm=function(a){this.B.height=a;return this};_.k.Cd=function(){return this.B.height};
|
|
||||||
var FN;FN=function(a){this.B=a};_.jN=function(a){a.B.closeClickDetection=!0};FN.prototype.Rm=function(a){this.B.height=a;return this};FN.prototype.Cd=function(){return this.B.height};FN.prototype.Es=function(a){this.B.width=a;return this};FN.prototype.Ne=function(){return this.B.width};
|
|
||||||
_.BB=function(a){this.B=a||{}};_.BB.prototype.value=function(){return this.B};_.IB=function(a,c){a.B.url=c;return a};_.BB.prototype.getUrl=function(){return this.B.url};_.DN=function(a,c){a.B.style=c;return a};_.BB.prototype.Hh=function(){return this.B.id};_.CN=function(a,c){a.B.queryParams=c;return a};_.Ko=function(a,c){a.B.relayOpen=c;return a};_.BB.prototype.Rd=_.b(13);_.BB.prototype.getContext=_.b(14);_.BB.prototype.ci=function(){return this.B.openerIframe};_.Du=function(a){return new FN(a.B)}; _.BB.prototype.Wp=function(){this.B.attributes=this.B.attributes||{};return new AB(this.B.attributes)};_.KN=function(a){a.B.connectWithQueryParams=!0;return a};
|
|
||||||
|
|
||||||
var Ek,pl,Bp,Lu,Ku,Nu,Zz,Xz;_.Qm=function(a){a.B.waitForOnload=!0;return a};_.BB.prototype.getContext=_.d(14,function(){return this.B.context});_.BB.prototype.Rd=_.d(13,function(){return this.B.apis});Ek=function(a){return(a=a.B.timeout)?a:null};_.AN=function(a,c){a.B.messageHandlersFilter=c;return a};_.BN=function(a,c){a.B.messageHandlers=c;return a};_.rl=function(a){return a.B.rpctoken};pl=function(a,c){a.B.onload=c};Bp=function(a,c,f){this.promise=a;this.resolve=c;this.reject=f};
|
|
||||||
Lu=function(a){this.resolve=this.reject=null;this.promise=_.Fu((0,_.H)(function(a,f){this.resolve=a;this.reject=f},this));a&&(this.promise=Ku(this.promise,a))};Ku=function(a,c){return a.then(function(a){try{c(a)}catch(g){}return a})};_.Su=function(){var a,c,f=new _.C(function(f,h){a=f;c=h});return new Bp(f,a,c)};_.Pr=function(a){return new _.C(function(c,f){var g=a.length,h=[];if(g)for(var l=function(a,f){g--;h[a]=f;0==g&&c(h)},n=function(a){f(a)},q=0,t;t=a[q];q++)_.$t(t,_.ma(l,q),n);else c(h)})}; Nu=function(a){return a instanceof _.C?a:new _.C(_.yk,a)};
|
|
||||||
_.yp=function(a){this.B=a||{}};_.J(_.yp,_.BB);_.oq=function(a,c){a.B.frameName=c;return a};_.yp.prototype.Tp=function(){return this.B.frameName};_.Lr=function(a,c){a.B.rpcAddr=c;return a};_.yp.prototype.Fl=function(){return this.B.rpcAddr};_.Mr=function(a,c){a.B.retAddr=c;return a};_.Ss=function(a){return a.B.retAddr};_.yp.prototype.Og=function(a){this.B.origin=a;return this};_.yp.prototype.Pq=function(){return this.B.origin};_.yp.prototype.vj=function(a){this.B.setRpcReady=a;return this}; _.yp.prototype.Pm=function(a){this.B.context=a;return this};var ft=function(a,c){a.B._rpcReadyFn=c};_.yp.prototype.rb=function(){return this.B.iframeEl};
|
|
||||||
var co,Wz;co=/^[\w\.\-]*$/;_.Uz=function(a){return a.Db===a.getContext().Db};_.Vz=function(){return!0};_.AD=function(a){for(var c=_.r(),f=0;f<a.length;f++)c[a[f]]=!0;return function(a){return!!c[a.Db]}};Wz=function(a,c,f){var g=Xz[a];return function(a){if(!c.Ma()&&(_.Sa(this.origin===c.Db,"Wrong origin "+this.origin+" != "+c.Db),g&&0<g.length)){for(var l=this.callback,n=[],q=0;q<g.length;q++)n.push(Nu(g[q].call(c,a,c)));f||_.Pr(n).then(l)}}};
|
|
||||||
_.Yz=function(a,c,f){_.Sa("_default"!=a,"Cannot update default api");Zz[a]={map:c,filter:f}};_.$z=function(a,c,f){_.Sa("_default"!=a,"Cannot update default api");_.Ka(Zz,a,{map:{},filter:_.Uz}).map[c]=f};_.aA=function(a,c){_.Ka(Zz,"_default",{map:{},filter:_.Vz}).map[a]=c;_.fb(_.Sm.B,function(f){f.register(a,c,_.Vz)})};_.jo=function(){return _.Sm};
|
|
||||||
_.bA=function(a){a=a||{};this.Oj=!1;this.zt=_.r();this.B=_.r();this.ye=a._window||_.ta;this.ha=this.ye.location.href;this.pa=(this.Na=_.Wa(this.ha,"parent",""))?_.Wa(this.ha,"pfname",""):"";this.El=this.Na?_.Wa(this.ha,"id",""):"";this.Jh=_.Ln(this.El,this.pa);this.Db=_.Rb.Pq(this.ha);if(this.El){var c=new _.yp;_.Lr(c,a._parentRpcAddr||"..");_.Mr(c,a._parentRetAddr||this.El);c.Og(_.Rb.Pq(_.Wa(this.ha,"parent",this.ha)));_.oq(c,this.pa);this.G=this.Pe(c.value())}else this.G=null};_.k=_.bA.prototype;
|
|
||||||
_.k.Ma=function(){return this.Oj};_.k.U=function(){if(!this.Ma()){for(var a=0;a<this.B.length;a++)this.B[a].U();this.Oj=!0}};_.k.Tp=function(){return this.Jh};_.k.Aa=function(){return this.ye};_.k.sj=_.b(15);_.k.$h=function(a){return this.zt[a]};
|
|
||||||
_.k.Pe=function(a){_.Sa(!this.Ma(),"Cannot attach iframe in disposed context");a=new _.yp(a);a.Fl()||_.Lr(a,a.Hh());_.Ss(a)||_.Mr(a,"..");a.Pq()||a.Og(_.Rb.Pq(a.getUrl()));a.Tp()||_.oq(a,_.Ln(a.Hh(),this.Jh));var c=a.Tp();if(this.B[c])return this.B[c];var f=a.Fl(),g=f;a.Pq()&&(g=f+"|"+a.Pq());var h=_.Ss(a),l=_.rl(a);l||(l=(l=a.rb())&&(l.getAttribute("data-postorigin")||l.src)||a.getUrl(),l=_.Wa(l,"rpctoken"));ft(a,_.Mz(g,h,l,a.B._popupWindow));g=((window.gadgets||{}).rpc||{}).setAuthToken;l&&g&&g(f,
|
|
||||||
l);var n=new _.Rm(this,f,c,a),q=a.B.messageHandlersFilter;_.fb(a.B.messageHandlers,function(a,c){n.register(c,a,q)});a.B.setRpcReady&&n.vj();_.jA(n,"_g_rpcReady");return n};_.k.CA=function(a){_.oq(a,null);var c=a.Hh();!c||co.test(c)&&!this.Aa().document.getElementById(c)||(_.kd("Ignoring requested iframe ID - "+c),a.B.id=null)};
|
|
||||||
_.k.cj=function(a){_.Sa(!this.Ma(),"Cannot open iframe in disposed context");var c=new _.yp(a);rt(this,c);var f=c.Tp();if(f&&this.B[f])return this.B[f];this.CA(c);f=c.getUrl();_.Sa(f,"No url for new iframe");var g=c.B.queryParams||{};g.usegapi="1";_.CN(c,g);g=this.te&&this.te(f,c);g||(g=c.B.where,_.Sa(!!g,"No location for new iframe"),f=_.tb(f,g,a),c.B.iframeEl=f,g=f.getAttribute("id"));_.Lr(c,g).B.id=g;c.Og(_.Rb.Pq(c.B.eurl||""));this.ca&&this.ca(c,c.rb());f=this.Pe(a);f.NA&&f.NA(f,a);(a=c.B.onCreate)&&
|
|
||||||
a(f);c.B.disableRelayOpen||f.Ce("_open");return f};
|
|
||||||
var cA=function(a,c,f){var g=c.B.canvasUrl;if(!g)return f;_.Sa(!c.B.allowPost,"Post is not supported when using canvas url");var h=c.getUrl();_.Sa(h&&_.Rb.Pq(h)===a.Db&&_.Rb.Pq(g)===a.Db,"Wrong origin for canvas or hidden url "+g);_.IB(c,g);_.Qm(c);c.B.canvasUrl=null;return function(a){var c=a.Aa(),g=c.location.hash,g=_.Un(h)+(/#/.test(h)?g.replace(/^#/,"&"):g);c.location.replace(g);f&&f(a)}},dA=function(a,c,f){var g=c.B.relayOpen;if(g){var h=a.G;g instanceof _.Rm?(h=g,_.Ko(c,0)):0<Number(g)&&_.Ko(c,
|
|
||||||
Number(g)-1);if(h){_.Sa(!!h.DE,"Relaying iframe open is disabled");if(g=c.B.style)if(g=_.eA[g])c.Pm(a),g(c.value()),c.Pm(null);c.B.openerIframe=null;f.resolve(h.DE(c));return!0}}return!1},fA=function(a,c,f){var g=c.B.style;if(g)if(_.Sa(!!_.gA,"Defer style is disabled, when requesting style "+g),_.hA[g])rt(a,c);else return iA(g,function(){_.Sa(!!_.hA[g],"Fail to load style - "+g);f.resolve(a.open(c.value()))}),!0;return!1};
|
|
||||||
_.bA.prototype.open=function(a,c){_.Sa(!this.Ma(),"Cannot open iframe in disposed context");var f=new _.yp(a),g=cA(this,f,c),h=new Lu(g);(g=f.getUrl())&&_.IB(f,_.Un(g));if(dA(this,f,h)||fA(this,f,h)||dA(this,f,h))return h.promise;var l;if(null!=Ek(f)){var n=(0,window.setTimeout)(function(){l.rb().src="about:blank";h.reject({timeout:"Exceeded time limit of :"+Ek(f)+"milliseconds"})},Ek(f)),q=h.resolve;h.resolve=function(a){(0,window.clearTimeout)(n);q(a)}}f.B.waitForOnload&&pl(f.Wp(),function(){h.resolve(l)});
|
|
||||||
l=this.cj(a);f.B.waitForOnload||h.resolve(l);return h.promise};_.bA.prototype.Ei=_.b(16);_.Rm=function(a,c,f,g){this.Oj=!1;this.Yf=a;this.Nc=c;this.Jh=f;this.zd=g;this.re=_.Ss(this.zd);this.Db=this.zd.Pq();this.iK=this.zd.rb();this.vF=this.zd.B.where;this.$o=[];this.Ce("_default");a=this.zd.Rd()||[];for(c=0;c<a.length;c++)this.Ce(a[c]);this.Yf.B[f]=this};_.k=_.Rm.prototype;_.k.Ma=function(){return this.Oj};
|
|
||||||
_.k.U=function(){if(!this.Ma()){for(var a=0;a<this.$o.length;a++)this.unregister(this.$o[a]);delete _.Sm.B[this.Tp()];this.Oj=!0}};_.k.getContext=function(){return this.Yf};_.k.Fl=function(){return this.Nc};_.k.Tp=function(){return this.Jh};_.k.rb=function(){return this.iK};_.k.V=function(){return this.vF};_.k.qc=function(a){this.vF=a};_.k.vj=function(){(0,this.zd.B._rpcReadyFn)()};_.k.Vm=function(a,c){this.zd.value()[a]=c};_.k.Zf=function(a){return this.zd.value()[a]};_.k.va=function(){return this.zd.value()};
|
|
||||||
_.k.Hh=function(){return this.zd.Hh()};_.k.Pq=function(){return this.Db};_.k.register=function(a,c,f){_.Sa(!this.Ma(),"Cannot register handler on disposed iframe "+a);_.Sa((f||_.Uz)(this),"Rejecting untrusted message "+a);f=this.Jh+":"+this.Yf.Jh+":"+a;1==_.Ka(Xz,f,[]).push(c)&&(this.$o.push(a),_.sz(f,Wz(f,this,"_g_wasClosed"===a)))};
|
|
||||||
_.k.unregister=function(a,c){var f=this.Jh+":"+this.Yf.Jh+":"+a,g=Xz[f];if(g){if(c){var h=_.xd.call(g,c);0<=h&&g.splice(h,1)}else g.splice(0,g.length);0==g.length&&(h=_.xd.call(this.$o,a),0<=h&&this.$o.splice(h,1),_.wz(f))}};_.k.fq=function(){return this.$o};_.k.Ce=function(a){this.Sy=this.Sy||[];if(!(0<=_.xd.call(this.Sy,a))){this.Sy.push(a);a=Zz[a]||{map:{}};for(var c in a.map)_.Qa(a.map,c)&&this.register(c,a.map[c],a.filter)}};
|
|
||||||
_.k.send=function(a,c,f,g){_.Sa(!this.Ma(),"Cannot send message to disposed iframe - "+a);_.Sa((g||_.Uz)(this),"Wrong target for message "+a);f=new Lu(f);_.Az(this.Nc,this.Yf.Jh+":"+this.Jh+":"+a,f.resolve,c);return f.promise};_.jA=function(a,c,f,g){return a.send(c,f,g,_.Vz)};_.Rm.prototype.aL=function(a){return a};_.Rm.prototype.ping=_.b(17);Xz=_.r();Zz=_.r();_.Sm=new _.bA;_.aA("_g_rpcReady",_.Rm.prototype.vj);_.aA("_g_discover",_.Rm.prototype.fq);_.aA("_g_ping",_.Rm.prototype.aL);
|
|
||||||
var iA,rt;_.hA=_.r();_.eA=_.r();_.gA=function(a){return _.hA[a]};iA=function(a,c){_.Ua.load("gapi.iframes.style."+a,c)};rt=function(a,c){var f=c.B.style;if(f){_.DN(c,null);var g=_.hA[f];_.Sa(g,"No such style: "+f);c.Pm(a);g(c.value());c.Pm(null)}};var nA,oA;nA={height:!0,width:!0};oA=/^(?!-*(?:expression|(?:moz-)?binding))(?:[.#]?-?(?:[_a-z0-9-]+)(?:-[_a-z0-9-]+)*-?|-?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)(?:[a-z]{1,2}|%)?|!important|)$/i;_.no=function(a){"number"===typeof a&&(a=String(a)+"px");return a};_.Rm.prototype.Aa=function(){if(!_.Uz(this))return null;var a=this.zd.B._popupWindow;if(a)return a;for(var c=this.Nc.split("/"),a=this.getContext().Aa(),f=0;f<c.length&&a;f++){var g=c[f];".."===g?a=a==a.parent?a.opener:a.parent:a=a.frames[g]}return a};
|
|
||||||
var lA=function(a,c){var f=a.G,g=!0;c.filter&&(g=c.filter.call(c.qg,c.params));return Nu(g).then(function(g){if(g&&f){var l;c.um&&c.um.call(a,c.params);c.sender?l=c.sender(c.params):l=_.jA(f,c.message,c.params);return c.pn?l.then(function(){return!0}):!0}return!1})};
|
|
||||||
_.bA.prototype.Ka=function(a,c,f){a=lA(this,{sender:function(a){var c=_.Sm.G;_.fb(_.Sm.B,function(f){f!==c&&_.jA(f,"_g_wasClosed",a)});var f=_.jA(c,"_g_closeMe",a);_.jA(c,"_g_wasClosed",a);return f},message:"_g_closeMe",params:a,qg:f,filter:this.$h("onCloseSelfFilter")});c=new Lu(c);c.resolve(a);return c.promise};_.bA.prototype.po=function(a,c,f){a=a||{};c=new Lu(c);c.resolve(lA(this,{message:"_g_restyleMe",params:a,qg:f,filter:this.$h("onRestyleSelfFilter"),pn:!0,um:this.Kb}));return c.promise};
|
|
||||||
_.bA.prototype.Kb=function(a){"auto"===a.height&&(a.height=_.Ob.Cd())};_.mA=function(a){var c={};if(a)for(var f in a)_.Qa(a,f)&&_.Qa(nA,f)&&oA.test(a[f])&&(c[f]=a[f]);return c};_.k=_.Rm.prototype;_.k.close=function(a,c){return _.jA(this,"_g_close",a,c)};_.k.sD=function(a,c){return _.jA(this,"_g_restyle",a,c)};_.k.ds=function(a,c){return _.jA(this,"_g_restyleDone",a,c)};_.k.qp=function(a){return this.getContext().Ka(a,void 0,this)};
|
|
||||||
_.k.tD=function(a){if(a&&"object"===typeof a)return this.getContext().po(a,void 0,this)};_.k.fs=function(a){var c=this.zd.B.onRestyle;c&&c.call(this,a,this);a=a&&"object"===typeof a?_.mA(a):{};(c=this.rb())&&a&&"object"===typeof a&&(_.Qa(a,"height")&&(a.height=_.no(a.height)),_.Qa(a,"width")&&(a.width=_.no(a.width)),_.Sl(a,c.style))};
|
|
||||||
_.k.rp=function(a){var c=this.zd.B.onClose;c&&c.call(this,a,this);this.BC&&this.BC()||(a=this.rb())&&a.parentNode&&a.parentNode.removeChild(a);if(a=this.zd.B.controller)c={},c.frameName=this.Tp(),_.jA(a,"_g_disposeControl",c)};_.bA.prototype.Za=_.b(18);_.bA.prototype.fb=_.b(19);_.Rm.prototype.QE=_.b(20);_.Rm.prototype.PE=function(a,c){this.register("_g_wasClosed",a,c)};
|
|
||||||
_.Rm.prototype.pM=function(){delete this.getContext().B[this.Tp()];this.getContext().Aa().setTimeout((0,_.H)(function(){this.U()},this),0)};_.aA("_g_close",_.Rm.prototype.qp);_.aA("_g_closeMe",_.Rm.prototype.rp);_.aA("_g_restyle",_.Rm.prototype.tD);_.aA("_g_restyleMe",_.Rm.prototype.fs);_.aA("_g_wasClosed",_.Rm.prototype.pM);
|
|
||||||
|
|
||||||
var ol,jv,Tu;_.Pu=function(a,c){a.B.onClose=c};ol=function(a,c){a.B.apis=c;return a};jv=function(a,c){a.B.rpctoken=c;return a};_.JB=function(a,c){a.B.where=c;return a};_.uW=function(a){a.B.show=!0;return a};_.Lv=function(a,c){a.B.anchor=c;return a};Tu=function(a){this.Kd=a||{}};Tu.prototype.value=function(){return this.Kd};var Kv=function(a){var c=new Tu;c.Kd.role=a;return c};Tu.prototype.na=function(a){this.Kd.handler=a;return this};Tu.prototype.Cr=function(){return this.Kd.handler};
|
|
||||||
var yn=function(a,c){a.Kd.filter=c;return a};Tu.prototype.KE=function(){return this.Kd.filter};var Mv=function(a,c){a.Kd.apis=c;return a};Tu.prototype.Rd=function(){return this.Kd.apis};var $v=function(a){a.Kd.runOnce=!0;return a},kv=function(a){this.B=a||{}};kv.prototype.value=function(){return this.B};kv.prototype.getIframe=function(){return this.B.iframe};var lv=function(a,c){a.B.role=c;return a},mv=function(a,c){a.B.data=c;return a};kv.prototype.vj=function(a){this.B.setRpcReady=a;return this};
|
|
||||||
var Tz=function(a,c){a.B.rpctoken=c;return a},tB=function(a){a.B.selfConnect=!0;return a},fB=/^https?:\/\/[^\/%\\?#\s]+$/i,bB={longdesc:!0,name:!0,src:!0,frameborder:!0,marginwidth:!0,marginheight:!0,scrolling:!0,align:!0,height:!0,width:!0,id:!0,"class":!0,title:!0,tabindex:!0,hspace:!0,vspace:!0,allowtransparency:!0},ZA=function(a,c,f){var g=a.Nc,h=c.re;_.Mr(_.Lr(f,a.re+"/"+c.Nc),h+"/"+g);_.oq(f,c.Tp()).Og(c.Db)};
|
|
||||||
_.bA.prototype.wc=function(a,c){var f=new kv(a),g=new kv(c),h=f.B.setRpcReady,l=f.getIframe(),n=g.getIframe();if(n){var q=f.B.rpctoken,t=new _.yp;ZA(l,n,t);mv(lv(Tz(new kv(t.value()),q),f.B.role),f.B.data).vj(h);var v=new _.yp;ZA(n,l,v);mv(lv(Tz(new kv(v.value()),q),g.B.role),g.B.data).vj(!0);_.jA(l,"_g_connect",t.value(),function(){h||_.jA(n,"_g_connect",v.value())});h&&_.jA(n,"_g_connect",v.value())}else g={},mv(lv(tB(new kv(g)),f.B.role),f.B.data),_.jA(l,"_g_connect",g)};_.k=_.Rm.prototype;
|
|
||||||
_.k.$H=function(a){var c,f=new _.yp(a);a=new kv(f.value());a.B.selfConnect?c=this:(_.Sa(fB.test(f.Pq()),"Illegal origin for connected iframe - "+f.Pq()),c=this.Yf.B[f.Tp()],c)?f.B.setRpcReady&&(c.vj(),_.jA(c,"_g_rpcReady")):(f=_.oq(_.Mr(_.Lr(jv(new _.yp,_.rl(f)),f.Fl()),_.Ss(f)).Og(f.Pq()),f.Tp()).vj(f.B.setRpcReady),c=this.Yf.Pe(f.value()));var f=this.Yf,g=a.B.role;a=a.B.data;dB(f);g=g||"";_.Ka(f.Ld,g,[]).push({qg:c.Tp(),data:a});eB(c,a,f.Kh[g])};
|
|
||||||
_.k.NA=function(a,c){if(!(new _.yp(c)).B._relayedDepth){var f={};tB(lv(new kv(f),"_opener"));_.jA(a,"_g_connect",f)}};
|
|
||||||
_.k.DE=function(a){var c=this,f=a.B.messageHandlers,g=a.B.messageHandlersFilter,h=a.B.onClose;_.Pu(_.AN(_.BN(a,null),null),null);_.Su();return _.jA(this,"_g_open",a.value()).then(function(l){var n=new _.yp(l[0]),q=n.Tp();l=new _.yp;var t=c.re,v=_.Ss(n);_.Mr(_.Lr(l,c.Nc+"/"+n.Fl()),v+"/"+t);_.oq(l,q);l.Og(n.Pq());ol(l,n.Rd());jv(l,_.rl(a));_.BN(l,f);_.AN(l,g);_.Pu(l,h);(n=c.Yf.B[q])||(n=c.Yf.Pe(l.value()));return n})};
|
|
||||||
_.k.CA=function(a){var c=a.getUrl();_.Sa(!c||_.Ul.test(c),"Illegal url for new iframe - "+c);var f=a.Wp().value(),c={},g;for(g in f)_.Qa(f,g)&&_.Qa(bB,g)&&(c[g]=f[g]);_.Qa(f,"style")&&(g=f.style,"object"===typeof g&&(c.style=_.mA(g)));a.value().attributes=c};
|
|
||||||
_.k.VK=function(a){a=new _.yp(a);this.CA(a);var c=a.B._relayedDepth||0;a.B._relayedDepth=c+1;a.B.openerIframe=this;_.Su();var f=_.rl(a);jv(a,null);return this.Yf.open(a.value()).then((0,_.H)(function(a){var h=(new _.yp(a.va())).Rd(),l=new _.yp;ZA(a,this,l);0==c&&lv(new kv(l.value()),"_opener");l.vj(!0);jv(l,f);_.jA(a,"_g_connect",l.value());l=new _.yp;_.oq(_.Mr(_.Lr(ol(l,h),a.Fl()),a.re),a.Tp()).Og(a.Pq());return l.value()},this))};var dB=function(a){a.Ld||(a.Ld=_.r(),a.Kh=_.r())};
|
|
||||||
_.bA.prototype.qa=function(a,c,f,g){dB(this);"object"===typeof a?(c=new Tu(a),f=c.Kd.role||""):(c=yn(Mv(Kv(a).na(c),f),g),f=a);g=this.Ld[f]||[];a=!1;for(var h=0;h<g.length&&!a;h++)eB(this.B[g[h].qg],g[h].data,[c]),a=c.Kd.runOnce;f=_.Ka(this.Kh,f,[]);a||c.Kd.dontWait||f.push(c)};_.bA.prototype.eb=_.b(21);
|
|
||||||
var eB=function(a,c,f){f=f||[];for(var g=0;g<f.length;g++){var h=f[g];if(h&&a){var l=h.KE()||_.Uz;if(a&&l(a)){for(var l=h.Rd()||[],n=0;n<l.length;n++)a.Ce(l[n]);h.Cr()&&h.Cr()(a,c);h.Kd.runOnce&&(f.splice(g,1),--g)}}}};_.bA.prototype.M=function(a,c,f){this.qa($v(yn(Mv(Kv("_opener").na(a),c),f)).value())};_.Rm.prototype.pL=function(a){this.getContext().M(function(c){c.send("_g_wasRestyled",a,void 0,_.Vz)},null,_.Vz)};var gB=_.Sm.G;gB&&gB.register("_g_restyleDone",_.Rm.prototype.pL,_.Vz); _.aA("_g_connect",_.Rm.prototype.$H);var hB={};hB._g_open=_.Rm.prototype.VK;_.Yz("_open",hB,_.Vz);
|
|
||||||
|
|
||||||
var od,qd,sd,rd;od=function(a,c){if("string"==typeof a){a=a.toLowerCase();var f;for(f=0;f<c.length;f++)if(c[f]==a)return a}};qd="inline bubble none only pp vertical-bubble".split(" ");sd=["left","right"];_.pd=function(a){return od(a,qd)};rd=function(a){return od(a,sd)};_.td=function(a){a.source=[null,"source"];a.expandTo=[null,"expandTo"];a.align=[rd];a.annotation=[_.pd];a.origin=[_.md]};
|
|
||||||
|
|
||||||
_.V.qj("bubble",function(a){(0,_.At)("iframes-styles-bubble",a)});
|
|
||||||
_.V.qj("slide-menu",function(a){(0,_.At)("iframes-styles-slide-menu",a)});
|
|
||||||
var dd={tall:{"true":{width:50,height:60},"false":{width:50,height:24}},small:{"false":{width:24,height:15},"true":{width:70,height:15}},medium:{"false":{width:32,height:20},"true":{width:90,height:20}},standard:{"false":{width:38,height:24},"true":{width:106,height:24}}},cd=function(a){return"string"==typeof a&&dd[a.toLowerCase()]?a.toLowerCase():"standard"},$c=function(a){return"string"==typeof a?""!=a&&"0"!=a&&"false"!=a.toLowerCase():!!a},ed=function(a,c){return"tall"==cd(c)?"true":null==a||$c(a)?
|
|
||||||
"true":"false"},bd=function(a){if($c(a))return"true"},ad=function(a){var c=(0,window.parseInt)(a,10);if(c==a)return String(c)},xv={width:180,height:35},hd={href:[_.Zc,"url"],width:[ad],size:[cd],resize:[bd],autosize:[bd],count:[function(a,c){return ed(c.count,c.size)}],db:[_.fd],ecp:[_.gd],textcolor:[function(a){if("string"==typeof a&&a.match(/^[0-9A-F]{6}$/i))return a}],drm:[bd],recommendations:[],fu:[],ad:[bd],cr:[ad],ag:[ad],"fr-ai":[],"fr-sigh":[]},wv=function(a,c,f){a=_.pd(a);c=cd(c);if(""!=
|
|
||||||
a){if("inline"==a||"only"==a)return a=450,f.width&&(a=120<f.width?f.width:120),{width:a,height:dd[c]["false"].height};if("bubble"!=a){if("none"==a)return dd[c]["false"];if("pp"==a)return xv}}return dd[c]["true"]},gO=function(a,c){return dd[cd(a)][ed(c,a)]};
|
|
||||||
(function(){var a={0:"plusone"},c=_.P("iframes/plusone/preloadUrl");c&&(a[7]=c);_.td(hd);a[1]=hd;a[2]={width:[function(a,c){return c.annotation?wv(c.annotation,c.size,c).width:gO(c.size,c.count).width}],height:[function(a,c){return c.annotation?wv(c.annotation,c.size,c).height:gO(c.size,c.count).height}]};a[3]={onPlusOne:{Kg:function(a){return"on"==a.state?"+1":null},Qh:"callback"},onstartinteraction:!0,onendinteraction:!0,onpopup:!0};a[4]=["div","button"];a=_.iC(a);_.qG=a.go;_.pG=a.S})();
|
|
||||||
|
|
||||||
});
|
|
||||||
// Google Inc.
|
|
|
@ -1,147 +0,0 @@
|
||||||
/* Copyright 2011 Google Inc. All Rights Reserved. */ (function(){var global=this;String.prototype.startsWith=function(a){return 0==this.lastIndexOf(a,0)};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};Function.prototype.apply||(Function.prototype.apply=function(a,b){var c=[];a||(a=global);for(var d=b||[],e=0;e<d.length;e++)c[e]="args["+e+"]";c="oScope.__applyTemp__.peek()("+c.join(",")+");";a.__applyTemp__||(a.__applyTemp__=[]);a.__applyTemp__.push(this);c=eval(c);a.__applyTemp__.pop();return c});
|
|
||||||
Array.prototype.push||(Array.prototype.push=function(a){for(var b=0;b<arguments.length;b++)this[this.length]=arguments[b];return this.length});Array.prototype.pop||(Array.prototype.pop=function(){if(this.length){var a=this[this.length-1];this.length--;return a}});Array.prototype.shift||(Array.prototype.shift=function(){if(0!=this.length){for(var a=this[0],b=0;b<this.length-1;b++)this[b]=this[b+1];this.length--;return a}});
|
|
||||||
Array.prototype.unshift||(Array.prototype.unshift=function(a){for(var b=arguments.length,c=this.length-1;0<=c;c--)this[c+b]=this[c];for(c=0;c<b;c++)this[c]=arguments[c];return this.length});Array.prototype.forEach||(Array.prototype.forEach=function(a,b){for(var c=0;c<this.length;c++)a.call(b,this[c],c,this)});
|
|
||||||
function bind(a,b,c){var d=a.boundArgs_||[],d=d.concat(Array.prototype.slice.call(arguments,2));"undefined"!=typeof a.boundSelf_&&(b=a.boundSelf_);"undefined"!=typeof a.boundFn_&&(a=a.boundFn_);var e=function(){var c=d.concat(Array.prototype.slice.call(arguments));return a.apply(b,c)};e.boundArgs_=d;e.boundSelf_=b;e.boundFn_=a;return e}Function.prototype.bind=function(a,b){return bind.apply(null,[this,a].concat(Array.prototype.slice.call(arguments,1)))};function DumpError(a){try{throw a;}catch(b){DumpException(b)}}function DumpException(a,b){var c="Javascript exception: "+(b?b:"")+" "+a;BR_IsIE()&&(c+=" "+a.name+": "+a.message+" ("+a.number+")");var d="";if("string"==typeof a)d=a+"\n";else for(var e in a)try{d+=e+": "+a[e]+"\n"}catch(f){}try{d+=DB_GetStackTrace(DumpException.caller)}catch(g){}DB_WriteDebugMsg(c+"\n"+d,1)}var function_name_re_=/function (\w+)/;
|
|
||||||
function DB_GetStackTrace(a){try{if(BR_IsNav())return Error().stack;if(!a)return"";var b;var c=function_name_re_.exec(String(a));b=c?c[1]:"";b="- "+b+"(";for(c=0;c<a.arguments.length;c++){0<c&&(b+=", ");var d=String(a.arguments[c]);40<d.length&&(d=d.substr(0,40)+"...");b+=d}b+=")\n";return b+=DB_GetStackTrace(a.caller)}catch(e){return"[Cannot get stack trace]: "+e+"\n"}}
|
|
||||||
function DB_WriteDebugMsg(a){"undefined"!=typeof log&&log(a?a.replace(amp_re_,"&").replace(lt_re_,"<").replace(gt_re_,">").replace(quote_re_,"""):"")};function BR_AgentContains_(a){return a in BR_AgentContains_cache_?BR_AgentContains_cache_[a]:BR_AgentContains_cache_[a]=-1!=navigator.userAgent.toLowerCase().indexOf(a)}var BR_AgentContains_cache_={};function BR_IsIE(){return(BR_AgentContains_("msie")||BR_AgentContains_("trident"))&&!window.opera}function BR_IsSafari(){return BR_AgentContains_("safari")||BR_AgentContains_("konqueror")}function BR_IsNav(){return!BR_IsIE()&&!BR_IsSafari()&&BR_AgentContains_("mozilla")}
|
|
||||||
var AssertTypeMap={string:String,number:Number,"boolean":Boolean};function HasClass(a,b){if(null==a||null==a.className)return!1;if(a.className==b)return!0;for(var c=a.className.split(" "),d=0;d<c.length;d++)if(c[d]==b)return!0;return!1}function AddClass(a,b){HasClass(a,b)||(a.className+=" "+b)}
|
|
||||||
function RemoveClass(a,b){if(null!=a.className)if(a.className==b)a.className="";else{for(var c=a.className.split(" "),d=[],e=!1,f=0;f<c.length;f++)c[f]!=b?c[f]&&d.push(c[f]):e=!0;e&&(a.className=d.join(" "))}}
|
|
||||||
var getScrollTopGetters_={ieQuirks_:function(a){return a.document.body.scrollTop},ieStandards_:function(a){return a.document.documentElement.scrollTop},dom_:function(a){return a.pageYOffset}},getScrollLeftGetters_={ieQuirks_:function(a){return a.document.body.scrollLeft},ieStandards_:function(a){return a.document.documentElement.scrollLeft},dom_:function(a){return a.pageXOffset}},getWindowHeightGetters_={ieQuirks_:function(a){return a.document.body.clientHeight},ieStandards_:function(a){return a.document.documentElement.clientHeight},
|
|
||||||
dom_:function(a){return a.innerHeight}};function GetWindowPropertyByBrowser_(a,b){try{if(BR_IsSafari())return b.dom_(a);if(!window.opera&&"compatMode"in a.document&&"CSS1Compat"==a.document.compatMode)return b.ieStandards_(a);if(BR_IsIE())return b.ieQuirks_(a)}catch(c){}return b.dom_(a)}var amp_re_=/&/g,lt_re_=/</g,gt_re_=/>/g,quote_re_=/\"/g;
|
|
||||||
function GetCursorPos(a,b){try{if(IsDefined(b.selectionEnd))return b.selectionEnd;if(a.document.selection&&a.document.selection.createRange){var c=a.document.selection.createRange();if(c.parentElement()!=b)return-1;var d=c.duplicate();d.moveToElementText(b);d.setEndPoint("EndToStart",c);var e=d.text.length;return e>b.value.length?-1:e}DB_WriteDebugMsg("Unable to get cursor position for: "+navigator.userAgent,0);return b.value.length}catch(f){DumpException(f,"Cannot get cursor pos")}return-1}
|
|
||||||
function FindInArray(a,b){for(var c=0;c<a.length;c++)if(a[c]==b)return c;return-1}function IsDefined(a){return"undefined"!=typeof a}function GetKeyCode(a){var b;a.keyCode?b=a.keyCode:a.which&&(b=a.which);return b}function forid_1(a){return document.getElementById(a)}function forid_2(a){return document.all[a]}var forid=document.getElementById?forid_1:forid_2;
|
|
||||||
function log(a){try{if(window.parent!=window&&window.parent.log){window.parent.log(window.name+"::"+a);return}}catch(b){}var c=forid("log");c?(a="<p class=logentry><span class=logdate>"+new Date+"</span><span class=logmsg>"+a+"</span></p>",c.innerHTML=a+c.innerHTML):window.status=a};function AS_Assert(){}AS_Assert.raise=function(a){if("undefined"!=typeof Error)throw Error(a||"Assertion Failed");throw a;};AS_Assert.fail=function(a){a=a||"Assertion failed";"undefined"!=typeof DumpError&&DumpError(a+"\n");AS_Assert.raise(a)};AS_Assert.isTrue=function(a,b){a||(void 0===b&&(b="Assertion failed"),AS_Assert.fail(b))};AS_Assert.equals=function(a,b,c){a!=b&&(void 0===c&&(c="AS_Assert.equals failed: <"+a+"> != <"+b+">"),AS_Assert.fail(c))};
|
|
||||||
AS_Assert.typeOf=function(a,b,c){if(typeof a!=b){if(a||""==a)try{if(b==AS_Assert.TYPE_MAP[typeof a]||a instanceof b)return}catch(d){}void 0===c&&("function"==typeof b&&(c=b.toString().match(/^\s*function\s+([^\s\{]+)/))&&(b=c[1]),c="AS_Assert.typeOf failed: <"+a+"> not typeof "+b);AS_Assert.fail(c)}};AS_Assert.TYPE_MAP={string:String,number:Number,"boolean":Boolean};Function.prototype.bind=function(a,b){if("function"!=typeof this)throw Error("Bind must be called as a method of a function object.");var c=this,d=Array.prototype.splice.call(arguments,1,arguments.length);return function(){for(var b=d.concat(),f=0;f<arguments.length;f++)b.push(arguments[f]);return c.apply(a,b)}};var listen;
|
|
||||||
(function(){function a(a){null==a.listen_hc_&&(a.listen_hc_=++d);return a.listen_hc_}function b(a){var b=Array.prototype.splice.call(arguments,1,arguments.length);return c[a].listener.apply(null,b)}var c={},d=0;listen=function(d,f,g,h){var k;k=f;var m=g,l=h,n=a(d),m=a(m),l=!!l;k=n+"_"+k+"_"+m+"_"+l;if(k in c)return k;l=b.bind(null,k);c[k]={listener:g,proxy:l,event:f,node:d,useCapture:h};if(d.addEventListener)d.addEventListener(f,l,h);else if(d.attachEvent)d.attachEvent("on"+f,l);else throw Error("Node {"+d+
|
|
||||||
"} does not support event listeners.");return k}})();function simpleBindEvent(a,b,c){var d="on"+b;if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent(d,c);else{var e=a[d];a[d]=function(){var a=e.apply(this,arguments),b=c.apply(this,arguments);return void 0==a?b:void 0==b?a:b&&a}}};function Point(a,b,c){this.x=a;this.y=b;this.coordinateFrame=c||null}Point.prototype.toString=function(){return"[P "+this.x+","+this.y+"]"};Point.prototype.clone=function(){return new Point(this.x,this.y,this.coordinateFrame)};function Delta(a,b){this.dx=a;this.dy=b}Delta.prototype.toString=function(){return"[D "+this.dx+","+this.dy+"]"};function Rect(a,b,c,d,e){this.x=a;this.y=b;this.w=c;this.h=d;this.coordinateFrame=e||null}
|
|
||||||
Rect.prototype.contains=function(a){return this.x<=a.x&&a.x<this.x+this.w&&this.y<=a.y&&a.y<this.y+this.h};Rect.prototype.toString=function(){return"[R "+this.w+"x"+this.h+"+"+this.x+"+"+this.y+"]"};Rect.prototype.clone=function(){return new Rect(this.x,this.y,this.w,this.h,this.coordinateFrame)};function nodeBounds(a){function b(b){for(var c=a.offsetParent;c&&c.offsetParent;c=c.offsetParent)c.scrollLeft&&(b.x-=c.scrollLeft),c.scrollTop&&(b.y-=c.scrollTop)}if(!a)return null;var c;c=a.ownerDocument&&a.ownerDocument.parentWindow?a.ownerDocument.parentWindow:a.ownerDocument&&a.ownerDocument.defaultView?a.ownerDocument.defaultView:window;if(a.getBoundingClientRect){var d=a.getBoundingClientRect();return new Rect(d.left+GetWindowPropertyByBrowser_(c,getScrollLeftGetters_),d.top+GetWindowPropertyByBrowser_(c,
|
|
||||||
getScrollTopGetters_),d.right-d.left,d.bottom-d.top,c)}if(a.ownerDocument&&a.ownerDocument.getBoxObjectFor)return d=a.ownerDocument.getBoxObjectFor(a),c=new Rect(d.x,d.y,d.width,d.height,c),b(c),c;for(var e=d=0,f=a;f.offsetParent;f=f.offsetParent)d+=f.offsetLeft,e+=f.offsetTop;c=new Rect(d,e,a.offsetWidth,a.offsetHeight,c);b(c);return c};var XH_ieProgId_,XH_ACTIVE_X_IDENTS$$inline_67=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
|
|
||||||
if("undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var i$$inline_68=0;i$$inline_68<XH_ACTIVE_X_IDENTS$$inline_67.length;i$$inline_68++){var candidate$$inline_69=XH_ACTIVE_X_IDENTS$$inline_67[i$$inline_68];try{new ActiveXObject(candidate$$inline_69);XH_ieProgId_=candidate$$inline_69;break}catch(e$$inline_70){}}if(!XH_ieProgId_)throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed.");}
|
|
||||||
function XH_XmlHttpCreate(){return XH_ieProgId_?new ActiveXObject(XH_ieProgId_):new XMLHttpRequest}function XH_XmlHttpGET(a,b,c){a.open("GET",b,!0);a.onreadystatechange=c;XH_XmlHttpSend(a,null)}function XH_XmlHttpSend(a,b){try{a.send(b)}catch(c){throw log("XMLHttpSend failed "+c.toString()+"<br>"+c.stack),c;}};"undefined"==typeof log&&(log=function(){});function Dom(a){this.doc=a||document;this.getElementById_=this.doc.getElementById?function(a){return this.doc.getElementById(a)}:function(a){return this.doc.all[a]}}Dom.prototype.$=function(a){return this.getElementById_(a)};Dom.prototype.create=function(a){return this.doc.createElement(a)};Dom.remove=function(a){AS_Assert.isTrue(a.parentNode);a.parentNode.removeChild(a)};Dom.insertAfter=function(a,b){AS_Assert.isTrue(b.parentNode);b.parentNode.insertBefore(a,b.nextSibling)};
|
|
||||||
Dom.insertBefore=function(a,b){AS_Assert.isTrue(b.parentNode);b.parentNode.insertBefore(a,b)};Dom.replace=function(a,b){AS_Assert.isTrue(b.parentNode);b.parentNode.replaceChild(a,b)};Dom.getInnerText=function(a){var b=[];Dom.getInnerTextHelp_(a,b);return b.join("")};Dom.getInnerTextHelp_=function(a,b){if(a.innerText)b.push(a.innerText);else if(a.data)b.push(a.data);else if(a.hasChildNodes())for(var c=a.firstChild;c;)arguments.callee(c,b),c=c.nextSibling};var DM_GlobalDom=new Dom;
|
|
||||||
function $(a){return DM_GlobalDom.$(a)};function PopupController(){this.activePopups_=[]}function _PC_Install(a){if(gPopupControllerInstalled)return!1;gPopupControllerInstalled=!0;a=a?a:document;listen(a.body,"mousedown",PC_notifyPopups);return!0}function PC_notifyPopups(a){if(0==gPopupController.activePopups_.length)return!1;a=a||window.event;for(var b=gPopupController.activePopups_.length-1;0<=b;--b){var c=gPopupController.activePopups_[b];PC_assertIsPopup(c);c.deactivate(a)&&gPopupController.activePopups_.splice(b,1)}return!0}
|
|
||||||
function PC_assertIsPopup(a){a:{a=a.deactivate;var b=Function,c="popup missing deactivate function";if(typeof a!=b){if(a||""==a)try{if(b==AssertTypeMap[typeof a]||a instanceof b)break a}catch(d){}var e=void 0===c;e&&("function"==typeof b&&(c=b.toString().match(/^\s*function\s+([^\s\{]+)/))&&(b=c[1]),c="AssertType failed: <"+a+"> not typeof "+b);a=(a=c)||"Assertion failed";IsDefined(DumpError)&&DumpError(a+"\n");if("undefined"!=typeof Error)throw Error(a||"Assertion Failed");throw a;}}}
|
|
||||||
var gPopupController=new PopupController,gPopupControllerInstalled=!1;function _ac_install(){ac_addHandler_(document.body,"onkeydown",ac_keyevent_);ac_addHandler_(document.body,"onkeypress",ac_keyevent_)}function _ac_register(a){for(var b=ac_storeConstructors.length;0<=--b;)if(ac_storeConstructors[b]===a)return;ac_storeConstructors.push(a)}function _ac_onfocus(a){ac_keyevent_(a)}function _ac_isCompleting(){return!!ac_store&&!ac_suppressCompletions}function _ac_isCompleteListShowing(){return!!ac_store&&!ac_suppressCompletions&&ac_completions&&ac_completions.length}
|
|
||||||
function _ac_cancel(){ac_suppressCompletions=!0;ac_updateCompletionList(!1)}function ac_addHandler_(a,b,c){var d=a[b];a[b]=d?ac_fnchain_(a[b],c):c;return d}function ac_cancelEvent_(a){"stopPropagation"in a?a.stopPropagation():a.cancelBubble=!0;"preventDefault"in a&&a.preventDefault()}function ac_fnchain_(a,b){return function(){var c=a.apply(this,arguments),d=b.apply(this,arguments);return!1===c||!1===d?!1:!0}}
|
|
||||||
function ac_keyevent_(a){a=a||window.event;var b=a.target||a.srcElement;if("INPUT"==b.tagName&&b.type.match(/^text$/i)||"TEXTAREA"==b.tagName){var c=GetKeyCode(a),d="keydown"==a.type,e=a.shiftKey,f=!0;if(b!==ac_focusedInput||null===ac_store)if(ac_focusedInput=b,f=!1,13!==c&&27!==c){for(var g=0;g<ac_storeConstructors.length;++g){var h=ac_storeConstructors[g](b,a);if(h){ac_store=h;ac_oldBlurHandler=ac_addHandler_(ac_focusedInput,"onblur",_ac_ob);f=!0;break}}f||_ac_ob(null)}if(f){b=ac_store.isCompletionKey(c,
|
|
||||||
d,e);f=ac_completions&&0<ac_completions.length;g=!1;if(b&&f)g=!ac_suppressCompletions&&!!ac_completions&&-1!=ac_selected,window.setTimeout(function(){ac_store&&ac_handleKey_(c,d,e)},0);else if(!b)g=27==c||40==c||38==c,window.setTimeout(function(){ac_store&&ac_handleKey_(c,d,e)},0);else if(ac_store.oncomplete)ac_store.oncomplete(!1,c,ac_focusedInput,void 0);g&&ac_cancelEvent_(a);return!g}}return!0}function _ac_ob(a){-1==navigator.userAgent.toLowerCase().indexOf("webkit")&&_ac_real_onblur(a)}
|
|
||||||
function _ac_real_onblur(){ac_focusedInput&&(ac_focusedInput.onblur=ac_oldBlurHandler);ac_focusedInput=ac_store=null;ac_everTyped=!1;ac_oldBlurHandler=null;ac_suppressCompletions=!1;ac_updateCompletionList(!1)}function _ac_fake_onblur(a){var b;a||(a=window.event);a.target?b=a.target:a.srcElement&&(b=a.srcElement);3==b.nodeType&&(b=b.parentNode);"INPUT"!=b.nodeName&&_ac_real_onblur(a)}function _AC_Store(){}_AC_Store.prototype.completable=function(){alert("UNIMPLEMENTED completable")};
|
|
||||||
_AC_Store.prototype.completions=function(){alert("UNIMPLEMENTED completions")};_AC_Store.prototype.oncomplete=function(a,b,c){if(c.onkeyup)c.onkeyup(void 0)};_AC_Store.prototype.substitute=function(){alert("UNIMPLEMENTED substitute")};_AC_Store.prototype.commaCompletes=!0;_AC_Store.prototype.isCompletionKey=function(a,b){return!b&&(13===a||44==a&&this.commaCompletes)?!0:!1};
|
|
||||||
function _AC_AddItemToFirstCharMap(a,b,c){var d=a[b];if(!d)d=a[b]=[];else if(d[d.length-1].value==c)return;d.push(new _AC_Completion(c,null,""))}function _AC_SimpleStore(a){this.firstCharMap_={};for(var b=0;b<a.length;++b){var c=a[b];if(c){_AC_AddItemToFirstCharMap(this.firstCharMap_,c.charAt(0).toLowerCase(),c);for(var d=c.split(/\W+/),e=0;e<d.length;++e)d[e]&&_AC_AddItemToFirstCharMap(this.firstCharMap_,d[e].charAt(0).toLowerCase(),c)}}this.countThreshold=2500;this.docstrings={}}
|
|
||||||
_AC_SimpleStore.prototype=new _AC_Store;_AC_SimpleStore.prototype.constructor=_AC_SimpleStore;_AC_SimpleStore.prototype.completable=function(a,b){for(var c=0,d=0,e=0;e<b;++e){var f=a.charAt(e);switch(d){case 0:if('"'==f)d=1;else if(","==f||" "==f)c=e+1;break;case 1:'"'==f&&(d=0)}}for(;c<b&&0<=" \t\r\n".indexOf(a.charAt(c));)++c;return a.substring(c,b)};
|
|
||||||
_AC_SimpleStore.prototype.completions=function(a,b){if(!a)return[];if(null==b||0==b.length)b=this.firstCharMap_[a.charAt(0).toLowerCase()];var c=/([\^*+\-\$\\\{\}\(\)\[\]\#?\.])/g,c=a.replace(c,"\\$1"),c="^(.*[-=:,])?("+c+")(.*)",c=new RegExp(c,"i"),d=[];if(b)for(var e=b.length,f=0;f<e;++f){var g=b[f].value.match(c);if(g&&(g=ac_preTextToHtml(g[1]||"")+"<b>"+ac_preTextToHtml(g[2])+"</b>"+ac_preTextToHtml(g[3]),g=new _AC_Completion(b[f].value,g,this.docstrings[b[f].value]),d.push(g),d.length>this.countThreshold))break}return d};
|
|
||||||
_AC_SimpleStore.prototype.autoselectFirstRow=function(){return!0};function _AC_CompareACCompletion(a,b){var c=a.value.toLowerCase().replace(/^\W*/,""),d=b.value.toLowerCase().replace(/^\W*/,"");return a.value===b.value?0:c<d?-1:1}_AC_SimpleStore.prototype.substitute=function(a,b,c,d){return a.substring(0,b-c.length)+d.value+", "+a.substring(b)};function _AC_Completion(a,b,c){this.value=a;this.html=b;this.dochtml=ac_preTextToHtml(c)}
|
|
||||||
_AC_Completion.prototype.toString=function(){return"(AC_Completion: "+this.value+")"};var ac_storeConstructors=[],ac_focusedInput=null,ac_store=null,ac_oldBlurHandler=null,ac_suppressCompletions=!1,ac_lastCompletable=null,ac_completions=null,ac_selected=-1;
|
|
||||||
function ac_handleKey_(a,b,c){ac_checkCompletions();var d=!0,e=ac_completions?ac_completions.length:0;if(ac_store.isCompletionKey(a,b,c)){if(0>ac_selected&&1<=e&&ac_store.autoselectFirstRow()&&(ac_selected=0),0<=ac_selected&&(b=ac_focusedInput,c=ac_completions[ac_selected].value,ac_complete(),ac_store.oncomplete))ac_store.oncomplete(!0,a,b,c)}else{switch(a){case 27:ac_selected=-1;d=!1;break;case 38:b&&(ac_selected=Math.max(0<=e?0:-1,ac_selected-1));break;case 40:b&&(ac_selected=Math.min(e-1,ac_selected+
|
|
||||||
1))}if(b)switch(a){case 27:case 13:case 38:case 40:case 39:case 37:case 9:case 16:case 8:case 46:break;default:ac_everTyped=!0}}ac_focusedInput&&ac_updateCompletionList(d)}function _ac_select(a){ac_selected=a;ac_complete();if(ac_store.oncomplete)ac_store.oncomplete(!0,null,ac_focusedInput,ac_focusedInput.value);ac_checkCompletions();ac_updateCompletionList(!0)}function _ac_mouseover(a){ac_selected=a;ac_updateCompletionList(!0)}
|
|
||||||
function ac_complete(){var a=ac_getCaretPosition_(ac_focusedInput),b=ac_completions[ac_selected];ac_focusedInput.value=ac_store.substitute(ac_focusedInput.value,a,ac_lastCompletable,b);a=a-ac_lastCompletable.length+b.value.length;'""'==b.value.substring(b.value.length-2)?a--:":"!=b.value.substring(b.value.length-1)&&a++;ac_selected=-1;ac_lastCompletable=ac_completions=null;ac_everTyped=!1;var b=window,c=ac_focusedInput;IsDefined(c.selectionEnd)&&IsDefined(c.selectionStart)?(c.selectionStart=a,c.selectionEnd=
|
|
||||||
a):b.document.selection&&c.createTextRange&&(b=c.createTextRange(),b.collapse(!0),b.move("character",a),b.select())}var ac_everTyped=!1;
|
|
||||||
function ac_checkCompletions(){if(ac_suppressCompletions)ac_completions=ac_lastCompletable=null,ac_selected=-1;else{var a=ac_getCaretPosition_(ac_focusedInput),a=ac_store.completable(ac_focusedInput.value,a);if(a!=ac_lastCompletable){var b;ac_lastCompletable&&ac_lastCompletable.length<a.length&&a.substring(0,ac_lastCompletable.length)==ac_lastCompletable?b=ac_completions:(ac_completions=null,ac_selected=-1);var c=0<=ac_selected?ac_completions[ac_selected].value:null;ac_completions=ac_store.completions(a,
|
|
||||||
b);ac_selected=-1;for(b=0;b<ac_completions.length;++b)if(c==ac_completions[b].value){ac_selected=b;break}ac_lastCompletable=a}}}
|
|
||||||
function ac_updateCompletionList(a){var b=document.getElementById("ac-list");if(a&&ac_completions&&ac_completions.length){b||(b=document.createElement("DIV"),b.id="ac-list",b.style.position="absolute",b.style.display="none",document.body.appendChild(b));0>ac_selected&&ac_store&&ac_store.autoselectFirstRow()&&(ac_selected=0);a=[];var c=0;a.push("<table cellpadding=0 cellspacing=0>");for(var d=0;d<ac_completions.length;++d)if(ac_completions[d].heading)a.push("<tr><th colspan=2>"),c&&a.push("<br/>"),
|
|
||||||
a.push(ac_completions[d].heading,"</th></tr>"),c++;else{var e="onmousedown";-1!=navigator.userAgent.toLowerCase().indexOf("webkit")&&(e="onmouseup");a.push("<tr ",e,'="try{_acse(',d,')}finally{return false}"','onmouseover="_acmo(',d,')"',d==ac_selected?' id="ac-selected-row" class=selected>':">","<td>"," ",ac_completions[d].html);a.push("</td><td> ");ac_completions[d].dochtml&&a.push("= ",ac_completions[d].dochtml);a.push("</td></tr>")}a.push("</table>");b.innerHTML=a.join("");a=nodeBounds(ac_focusedInput);
|
|
||||||
b.style.left=a.x+"px";b.style.top=a.y+a.h+"px";b.style.display="";window.setTimeout(ac_autoscroll,100)}else b&&(b.style.display="none",b.innerHTML="")}function ac_autoscroll(){var a=document.getElementById("ac-list"),b=document.getElementById("ac-selected-row"),c=b?b.offsetTop:0,d=b?b.offsetHeight:0;a&&b&&(c<a.scrollTop?a.scrollTop=c-8:c+d+8>a.scrollTop+a.offsetHeight&&(a.scrollTop=c+d-a.offsetHeight+8))}
|
|
||||||
function ac_preTextToHtml(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/\"/g,""").replace(/ /g," ").replace(/\r\n?|\n/g,"<br>")}
|
|
||||||
function ac_getCaretPosition_(a){if("INPUT"==a.tagName){var b=a.value.length;if(void 0!=a.selectionStart)b=a.selectionEnd,a.id.startsWith("status")&&(b=a.selectionStart);else if(document.selection){var c=document.selection.createRange(),d=c.text.length;c.moveStart("character",-b);b=c.text.length;a.id.startsWith("status")&&(b=c.text.length-d)}return b}return GetCursorPos(window,a)};var DIT_labelStore,DIT_searchStore,DIT_quickEditStore,DIT_exclPrefixes=[],DIT_statusStore,DIT_memberListStore,DIT_ownerStore,DIT_autoCompleteStore,DIT_restrict_to_known,DIT_autoCompleteFeedName;function DIT_fullComplete(a,b){if(!a.startsWith("*"))return null;for(var c=[],d=0;d<b.length;d++)c.push(new _AC_Completion(b[d].name,ac_preTextToHtml(b[d].name),b[d].doc));return c}var DIT_statusWords=[];
|
|
||||||
function DIT_setUpStatusStore(a,b){var c={};DIT_statusWords=[];for(var d=0;d<a.length;d++){var e=a[d];DIT_statusWords.push(e.name);c[e.name]=e.doc}for(d=0;d<b.length;d++)e=b[d],DIT_statusWords.push(e.name),c[e.name]=e.doc;DIT_statusStore=new _AC_SimpleStore(DIT_statusWords);DIT_statusStore.docstrings=c;DIT_statusStore.commaCompletes=!1;DIT_statusStore.substitute=function(a,b,c,d){return d.value};DIT_statusStore.completable=function(a){return ac_everTyped?a:"*status"};DIT_statusStore.completions=function(c,
|
|
||||||
d){var e;e=a;var k=b;if(c.startsWith("*")){var m=[];m.push({heading:"Open Statuses:"});for(var l=0;l<e.length;l++)m.push(new _AC_Completion(e[l].name,ac_preTextToHtml(e[l].name),e[l].doc));m.push({heading:"Closed Statuses:"});for(l=0;l<k.length;l++)m.push(new _AC_Completion(k[l].name,ac_preTextToHtml(k[l].name),k[l].doc));e=m}else e=null;return e?e:_AC_SimpleStore.prototype.completions.call(this,c,d)}}function DIT_addACItem(a,b,c,d){a.push(c);b[c]=d}
|
|
||||||
function DIT_addACItemList(a,b,c,d,e,f){for(var g,h=0;h<d.length;h++){var k=d[h];g=c+k.name;e&&(g=g.slice(0,1)+g.slice(1).replace(e,f));DIT_addACItem(a,b,g,k.doc)}}
|
|
||||||
function DIT_setUpSearchStore(a,b,c,d){for(var e=[],f={},g=[],h=[],k=0;k<a.length;k++){var m=a[k];-1==m.name.indexOf("-")?h.push(m):g.push(m)}DIT_addACItemList(e,f,"",g,"-","=");DIT_addACItemList(e,f,"-",g,"-","=");DIT_addACItemList(e,f,"label:",h);DIT_addACItemList(e,f,"-label:",h);"issueOptions"==DIT_autoCompleteFeedName&&(DIT_addACItem(e,f,"owner:me","Issues owned by me"),DIT_addACItem(e,f,"-owner:me","Issues not owned by me"),DIT_addACItem(e,f,"cc:me","Issues that CC me"),DIT_addACItem(e,f,"-cc:me",
|
|
||||||
"Issues that don't CC me"),DIT_addACItem(e,f,"reporter:me","Issues I reported"),DIT_addACItem(e,f,"-reporter:me","Issues reported by others"),DIT_addACItemList(e,f,"owner:",b),DIT_addACItemList(e,f,"-owner:",b),DIT_addACItemList(e,f,"cc:",b),DIT_addACItemList(e,f,"-cc:",b),DIT_addACItemList(e,f,"reporter:",b),DIT_addACItemList(e,f,"-reporter:",b),DIT_addACItemList(e,f,"status:",c),DIT_addACItemList(e,f,"-status:",c),DIT_addACItemList(e,f,"status:",d),DIT_addACItemList(e,f,"-status:",d));DIT_addACItem(e,
|
|
||||||
f,"is:starred","Starred by me");DIT_addACItem(e,f,"-is:starred","Not starred by me");DIT_addACItem(e,f,"summary:","Search within the summary field");"issueOptions"==DIT_autoCompleteFeedName?(DIT_addACItem(e,f,"commentby:me","Issues that I commented on"),DIT_addACItem(e,f,"-commentby:me","Issues that I didn't comment on"),DIT_addACItemList(e,f,"commentby:",b),DIT_addACItem(e,f,"attachment:","Search within attachment names"),DIT_addACItem(e,f,"is:open","Issues that are open"),DIT_addACItem(e,f,"-is:open",
|
|
||||||
"Issues that are closed"),DIT_addACItem(e,f,"has:owner","Issues with some owner"),DIT_addACItem(e,f,"-has:owner","Issues with no owner"),DIT_addACItem(e,f,"has:attachment","Issues with some attachments"),DIT_addACItem(e,f,"id:1,2,3","Match only the specified issues"),a=new Date,a=a.getFullYear()+"/"+(a.getMonth()+1)+"/"+a.getDate(),DIT_addACItem(e,f,"opened-after:today-1","Opened within the last N days"),DIT_addACItem(e,f,"opened-after:"+a,"Opened after the specified date"),DIT_addACItem(e,f,"opened-before:today-1",
|
|
||||||
"Opened more than N days ago"),DIT_addACItem(e,f,"opened-before:"+a,"Opened before the specified date"),DIT_addACItem(e,f,"modified-after:today-1","Modified within the last N days"),DIT_addACItem(e,f,"modified-after:"+a,"Modified after the specified date"),DIT_addACItem(e,f,"modified-before:today-1","Modified more than N days ago"),DIT_addACItem(e,f,"modified-before:"+a,"Modified before the specified date"),DIT_addACItem(e,f,"closed-after:today-1","Closed within the last N days"),DIT_addACItem(e,
|
|
||||||
f,"closed-after:"+a,"Closed after the specified date"),DIT_addACItem(e,f,"closed-before:today-1","Closed more than N days ago"),DIT_addACItem(e,f,"closed-before:"+a,"Closed before the specified date")):"wikiOptions"==DIT_autoCompleteFeedName?(DIT_addACItem(e,f,"pagename:","Search with page names"),DIT_addACItem(e,f,"commentby:me","Pages that I commented on"),DIT_addACItem(e,f,"changedby:","Last changed by the specified user")):"downloadOptions"==DIT_autoCompleteFeedName&&(DIT_addACItem(e,f,"filename:",
|
|
||||||
"Search within file names"),DIT_addACItem(e,f,"uploadedby:","Files uploaded by the specified user"));DIT_searchStore=new _AC_SimpleStore(e);DIT_searchStore.docstrings=f;DIT_searchStore.substitute=function(a,b,c,d){for(var e=b;" "!=a.charAt(e)&&e<a.length;)e++;for(;" "==a.charAt(e)&&e<a.length;)e++;return a.substring(0,b-c.length)+d.value+" "+a.substring(e)};DIT_searchStore.autoselectFirstRow=function(){return!1}}
|
|
||||||
function DIT_setUpQuickEditStore(a,b,c,d){for(var e=[],f={},g=[],h=[],k=0;k<a.length;k++){var m=a[k];-1==m.name.indexOf("-")?h.push(m):g.push(m)}DIT_addACItemList(e,f,"",g,"-","=");DIT_addACItemList(e,f,"-",g,"-","=");DIT_addACItemList(e,f,"",h);DIT_addACItemList(e,f,"-",h);DIT_addACItem(e,f,"owner=me","Make me the owner");DIT_addACItem(e,f,"owner=---","Clear the owner field");DIT_addACItem(e,f,"cc=me","CC me on this issue");DIT_addACItem(e,f,"cc=-me","Remove me from CC list");DIT_addACItemList(e,
|
|
||||||
f,"owner=",b);DIT_addACItemList(e,f,"cc=",b);DIT_addACItemList(e,f,"cc=-",b);DIT_addACItemList(e,f,"status=",c);DIT_addACItemList(e,f,"status=",d);DIT_addACItem(e,f,'summary=""',"Set the summary field");DIT_quickEditStore=new _AC_SimpleStore(e);DIT_quickEditStore.docstrings=f;DIT_quickEditStore.substitute=function(a,b,c,d){for(var e=b;" "!=a.charAt(e)&&e<a.length;)e++;for(;" "==a.charAt(e)&&e<a.length;)e++;return a.substring(0,b-c.length)+d.value+" "+a.substring(e)}}
|
|
||||||
function DIT_setUpMemberStore(a){for(var b=[],c={},d=0;d<a.length;d++){var e=a[d];b.push(e.name);c[e.name]=e.doc}DIT_memberListStore=new _AC_SimpleStore(b);DIT_memberListStore.docstrings=c;DIT_memberListStore.completions=function(b,c){var d=DIT_fullComplete(b,a);return d?d:_AC_SimpleStore.prototype.completions.call(this,b,c)};DIT_memberListStore.completable=function(a,b){return""==a?"*member":_AC_SimpleStore.prototype.completable.call(this,a,b)};DIT_ownerStore=new _AC_SimpleStore(b);DIT_ownerStore.docstrings=
|
|
||||||
c;DIT_ownerStore.commaCompletes=!1;DIT_ownerStore.substitute=function(a,b,c,d){return d.value};DIT_ownerStore.completions=function(b,c){var d=DIT_fullComplete(b,a);return d?d:_AC_SimpleStore.prototype.completions.call(this,b,c)};DIT_ownerStore.completable=function(a){return ac_everTyped?a:"*owner"}}var DIT_labelWords=[];
|
|
||||||
function DIT_setUpLabelStore(a){DIT_labelWords=[];for(var b={},c=0;c<a.length;c++){var d=a[c];DIT_labelWords.push(d.name);b[d.name]=d.doc}DIT_labelStore=new _AC_SimpleStore(DIT_labelWords);DIT_labelStore.docstrings=b;DIT_labelStore.commaCompletes=!1;DIT_labelStore.substitute=function(a,b,c,d){return d.value};DIT_labelStore.completable=function(a,b){if(0==b)return"*label";for(var c=0,d=b;0<=--d;){var k=a.charAt(d);if(" "==k||","==k){c=d+1;break}}d=a.indexOf("?");0<=d&&(a=a.substring(c,d));d=a.substring(c,
|
|
||||||
b);a.startsWith("Restrict-")&&(d=a,8<a.lastIndexOf("-")&&(d=a.substring(c,Math.min(b,a.lastIndexOf("-")))));return d};DIT_labelStore.completions=function(b,c){var d=DIT_fullComplete(b,a);null==d&&(d=_AC_SimpleStore.prototype.completions.call(this,b,c));for(var h=[],k=0;k<d.length;k++){var m=d[k],l=m.value.split("-"),n=l[0].toLowerCase();if(m.value.startsWith("Restrict-")){if(!b.toLowerCase().startsWith("r"))continue;1<l.length&&(n+="-"+l[1].toLowerCase())}var l=-1!=FindInArray(DIT_exclPrefixes,n),
|
|
||||||
p=void 0==DIT_usedPrefixes[n]||0==DIT_usedPrefixes[n].length;if(!l||p||1==DIT_usedPrefixes[n].length&&DIT_usedPrefixes[n][0]==ac_focusedInput){var n=!0,q;for(q in DIT_usedPrefixes)for(l=DIT_usedPrefixes[q],p=0;p<l.length;p++){var r=l[p];r.value.toLowerCase()==m.value.toLowerCase()&&r!=ac_focusedInput&&(n=!1)}n&&h.push(m)}}return h}}
|
|
||||||
function DIT_setUpAutoCompleteStore(a){DIT_autoCompleteStore=new _AC_SimpleStore(a);for(var b=[],c=0;c<a.length;++c)b.push({name:a[c],doc:""});DIT_autoCompleteStore.completions=function(a,c){if(18<a.length)return[];var f=DIT_fullComplete(a,b);null==f&&(f=_AC_SimpleStore.prototype.completions.call(this,a,c));for(var g={},h=document.getElementsByTagName("input"),k=0;k<h.length;++k)HasClass(h[k],"autocomplete")&&(g[h[k].value]=!0);h=[];for(k=0;k<f.length;++k)g[f[k].value]||h.push(f[k]);return h};DIT_autoCompleteStore.completable=
|
|
||||||
function(a){return""==a?"*ac":a};DIT_autoCompleteStore.substitute=function(a,b,c,g){return g.value};DIT_autoCompleteStore.commaCompletes=!1}function DIT_fetchOptions(a){DIT_autoCompleteFeedName=a;DIT_fetchOptionsInternal(CS_env.projectHomeUrl+"/feeds/"+a)}function DIT_fetchSiteOptions(a){DIT_autoCompleteFeedName=a="projectLabels";DIT_fetchOptionsInternal(CS_env.relativeBaseUrl+"/hosting/feeds/"+a)}
|
|
||||||
function DIT_fetchOptionsInternal(a){var b=XH_XmlHttpCreate();XH_XmlHttpGET(b,a,function(){4==b.readyState&&200==b.status&&DIT_gotOptionsFeed(b.responseText)})}
|
|
||||||
function DIT_gotOptionsFeed(a){_d=null;a=a.substring(5);try{eval("_d="+a)}catch(b){return}DIT_setUpStatusStore(_d.open,_d.closed);DIT_setUpSearchStore(_d.labels,_d.members,_d.open,_d.closed);DIT_setUpQuickEditStore(_d.labels,_d.members,_d.open,_d.closed);DIT_setUpLabelStore(_d.labels);DIT_setUpMemberStore(_d.members);DIT_exclPrefixes=_d.excl_prefixes;DIT_prepLabelAC(DIT_labelFieldIDPrefix);DIT_restrict_to_known=_d.strict};function DIT_showBelow(a,b,c,d,e){var f=$(a),g=nodeBounds(b),h=g.x,g=g.y+g.h;BR_IsIE()&&(--h,g-=2);BR_IsSafari()&&(h+=1);f.style.display="block";f.style.left="-2000px";if("pop__dot"==a||"redoMenu"==a)h=h-f.offsetWidth+b.offsetWidth;c&&(h+=c);d&&(g+=d);f.style.left=h+"px";f.style.top=g+"px";a=new DIT_MyPopup(f,e);a.show();return!1}
|
|
||||||
function DIT_showRight(a,b,c,d){a=$(a);b=nodeBounds(b);var e=b.x+b.w,f=b.y,g=document.documentElement.clientWidth,h=document.documentElement.clientHeight,g={w:(window.innerWidth||g&&0<g?g:document.body.clientWidth)||1,h:(window.innerHeight||h&&0<h?h:document.body.clientHeight)||1};a.style.display="block";h=nodeBounds(a);e+h.w>g.w?(e=b.x-h.w,BR_IsIE()&&(e-=4,f-=2),BR_IsNav()&&(e-=2),BR_IsSafari()&&(e+=-1)):(BR_IsIE()&&(f-=2),BR_IsNav()&&(e+=2),BR_IsSafari()&&(e+=3));a.style.left="-2000px";a.style.position=
|
|
||||||
"absolute";c&&(e+=c);d&&(f+=d);a.style.left=e+"px";a.style.top=f+"px";c=new DIT_MyPopup(a);c.show();return!1}function DIT_closePopup(a){var b=$(a);if(b)for(a=0;a<gPopupController.activePopups_.length;++a)if(b===gPopupController.activePopups_[a]._div){b=gPopupController.activePopups_[a];b.hide();gPopupController.activePopups_.splice(a,1);break}}var DIT_allColumnNames=[];
|
|
||||||
function DIT_closeAllPopups(a){for(var b=0;b<DIT_allColumnNames.length;b++)DIT_closePopup("pop_"+b),DIT_closePopup("filter_"+b);DIT_closePopup("pop__dot");DIT_closePopup("redoMenu");RemoveClass(a,"hover");return!1}function DIT_closeSubmenus(){for(var a=0;a<DIT_allColumnNames.length;a++)DIT_closePopup("filter_"+a);return!1}function DIT_showHidden(a){for(;a;){if(HasClass(a,"closed"))return RemoveClass(a,"closed"),AddClass(a,"opened"),!1;if(HasClass(a,"opened"))return!1;a=a.parentNode}}
|
|
||||||
function DIT_toggleColumn(a){var b=$("colcontrol");HasClass(b,a)?RemoveClass(b,a):AddClass(b,a);return!1}function DIT_toggleRows(a){var b=$("colcontrol");AddClass(b,"hide_pri_groups");AddClass(b,"hide_mile_groups");AddClass(b,"hide_stat_groups");DIT_toggleColumn(a);return!1}var DIT_lastRolloverRow=void 0;function DIT_rowRolloverOn(a){DIT_lastRolloverRow&&DIT_rowRolloverOff(DIT_lastRolloverRow);AddClass(a,"hover");DIT_lastRolloverRow=a;return!1}
|
|
||||||
function DIT_rowRolloverOff(a){RemoveClass(a,"hover");return!1}function DIT_MyPopup(a,b){this._div=a;this._launcher=b;this._isVisible=!1}DIT_MyPopup.prototype.show=function(){this._div.style.display="block";this._isVisible=!0;a:{PC_assertIsPopup(this);for(var a=0;a<gPopupController.activePopups_.length;++a)if(this===gPopupController.activePopups_[a])break a;gPopupController.activePopups_.push(this)}};DIT_MyPopup.prototype.hide=function(){this._div.style.display="none";this._isVisible=!1};
|
|
||||||
DIT_MyPopup.prototype.deactivate=function(a){if(this._isVisible){var b=0,c=0;if(a.pageX||a.pageY)b=a.pageX,c=a.pageY;else if(a.clientX||a.clientY)b=a.target?a.target:a.srcElement,c=b.ownerDocument&&b.ownerDocument.parentWindow?b.ownerDocument.parentWindow:window,b=a.clientX+GetWindowPropertyByBrowser_(c,getScrollLeftGetters_),c=a.clientY+GetWindowPropertyByBrowser_(c,getScrollTopGetters_);a=new Point(b,c,window);if(nodeBounds(this._div).contains(a))return!1;if(this._launcher&&nodeBounds(this._launcher).contains(a))return this._launcher=
|
|
||||||
null,!1;this.hide()}return!0};var DIT_rowToHighlight=void 0;function DIT_highlightRow(a){DIT_rowToHighlight=a;window.setTimeout("_highlightRowCallback()",10);return!1}function DIT_highlightRowCallback(){for(var a=DIT_rowToHighlight,b=a.checked;a&&"TR"!=a.tagName;)a=a.parentNode;b?AddClass(a,"selected"):RemoveClass(a,"selected")}function DIT_floatMetadata(){var a=$("meta-float"),b=$("meta-container");simpleBindEvent(window,"scroll",function(){DIT_floatVertically(a,b)})}
|
|
||||||
function DIT_floatVertically(a,b){var c=nodeBounds(a),d=nodeBounds(b),e=GetWindowPropertyByBrowser_(window,getScrollTopGetters_);a.style.width||(a.style.width=c.w+"px");e>d.y&&e-d.y+c.h<=b.style.top+d.h&&GetWindowPropertyByBrowser_(window,getWindowHeightGetters_)>c.h?("fixed"!=a.style.position&&(a.style.position="fixed",a.style.top="0",BR_IsIE()?a.parentNode.style.paddingRight=c.w+2+"px":a.parentNode.style.minWidth=c.w+"px"),a.style.left=-GetWindowPropertyByBrowser_(window,getScrollLeftGetters_)+
|
|
||||||
"px"):"relative"!=a.style.position&&(a.style.position="relative",a.style.left="0",BR_IsIE()&&(a.parentNode.style.paddingRight=""))}var DIT_prefsXmlHttp=void 0;function DIT_setPeoplePrefs(a,b,c,d){DIT_prefsXmlHttp=XH_XmlHttpCreate();a=a?"/a/"+a:"";b=a+"/p/"+b+"/people/detailPrefs.do";d="perms_expanded="+c+"&token="+d;c=DIT_prefsXmlHttp;a=DIT_prefsFeedCallback;c.open("POST",b,!0);c.onreadystatechange=a;c.setRequestHeader("Content-Type","application/x-www-form-urlencoded");XH_XmlHttpSend(c,d)}
|
|
||||||
function DIT_prefsFeedCallback(){}function DIT_blurOnEsc(a){27==a.keyCode&&(a.target.blur(),a.preventDefault())};function DIT_selectAllIssues(){DIT_selectIssues(!0)}function DIT_selectNoneIssues(){DIT_selectIssues(!1)}function DIT_selectIssues(a){for(var b=$("resultstable"),c=0;c<b.rows.length;++c){var d=b.rows[c],e=d.cells[0];if("TD"==e.tagName)for(var f=0;f<e.childNodes.length;++f){var g=e.childNodes[f];"INPUT"==g.tagName&&"checkbox"==g.type&&(g.checked=a?"checked":"",a?AddClass(d,"selected"):RemoveClass(d,"selected"))}}}var DIT_nextFileID=1;
|
|
||||||
function DIT_addAttachmentFields(a){if(!(16<=DIT_nextFileID)){a=$(a);a.style.marginTop="4px";var b=document.createElement("div");b.innerHTML='<input type="file" name="file'+DIT_nextFileID+'" size=35 style="width:auto;margin-left:17px"> <a style="font-size:x-small" href="#" onclick="this.parentNode.parentNode.removeChild(this.parentNode); return false">Remove</a> ';a.appendChild(b);++DIT_nextFileID;16>DIT_nextFileID?$("attachafile").innerHTML="Attach another file":$("attachprompt").style.display=
|
|
||||||
"none";$("attachmaxsize").style.display=""}}function DIT_openIssueUpdateForm(){DIT_showHidden($("makechangesarea"));document.location.hash="makechanges";DIT_forceProperTableWidth();window.setTimeout("document.getElementById('addCommentTextArea').focus();",100)}var DIT_currentPromptIndex=0;
|
|
||||||
function DIT_selectPrompt(a){DIT_showHidden($("prompt_edit_panel"));DIT_currentPromptIndex=a.value;var b=a=$("prompt_text_editor");HasClass(b,"undef")&&(RemoveClass(b,"undef"),b.value="");$("prompt_members_only_checkbox").checked="yes"==$("prompt_members_only_"+DIT_currentPromptIndex).value;$("prompt_summary_editor").value=$("prompt_summary_"+DIT_currentPromptIndex).value;$("prompt_summary_must_be_edited_checkbox").checked="yes"==$("prompt_summary_must_be_edited_"+DIT_currentPromptIndex).value;a.value=
|
|
||||||
$("prompt_text_"+DIT_currentPromptIndex).value;$("prompt_status_editor").value=$("prompt_status_"+DIT_currentPromptIndex).value;$("prompt_owner_editor").value=$("prompt_owner_"+DIT_currentPromptIndex).value;$("owner_defaults_to_member_checkbox").checked="yes"==$("owner_defaults_to_member_"+DIT_currentPromptIndex).value;$("owner_defaults_to_member_area").style.display=$("prompt_owner_editor").value?"none":"";for(a=0;15>a;a++)$("prompt_label_editor"+a).value=$("prompt_label_"+DIT_currentPromptIndex+
|
|
||||||
"_"+a).value;for(a=b=0;a<DIT_promptNames.length;a++)"<DELETED>"!=DIT_promptNames[a]&&b++;1<b?$("delbtn").disabled="":$("delbtn").disabled="disabled"}var DIT_promptNames=[];
|
|
||||||
function DIT_newPrompt(){var a=DIT_promptNames.length,b=prompt("Name of new template?","");if(b=b.replace(/[&<>"]/g,"")){for(var c=0;c<DIT_promptNames.length;c++)if(b==DIT_promptNames[c]){alert("Please choose a unique name.");return}var c=a,d=[];DIT_pushHiddenField(d,"prompt_name_"+c,"prompt_name_"+c,b);DIT_pushHiddenField(d,"prompt_members_only_"+c);DIT_pushHiddenField(d,"prompt_summary_"+c);DIT_pushHiddenField(d,"prompt_summary_must_be_edited_"+c);DIT_pushHiddenField(d,"prompt_text_"+c);DIT_pushHiddenField(d,
|
|
||||||
"prompt_status_"+c);DIT_pushHiddenField(d,"prompt_owner_"+c);DIT_pushHiddenField(d,"owner_defaults_to_member_"+c,"yes");DIT_pushHiddenField(d,"prompt_members_only_"+c);for(var e=0;15>e;e++)DIT_pushHiddenField(d,"prompt_label_"+c,"prompt_label_"+c+"_"+e);$("adminIssues").innerHTML+=d.join("");DIT_promptNames.push(b);$("prompt_menu").innerHTML+='<option value="'+a+'" selected=selected>'+b+"</select>";$("default_prompt_for_developers").innerHTML+='<option value="'+b+'">'+b+"</select>";$("default_prompt_for_users").innerHTML+=
|
|
||||||
'<option value="'+b+'">'+b+"</select>";DIT_selectPrompt($("prompt_menu"))}}function DIT_pushHiddenField(a,b,c,d){a.push('<input type=hidden name="',b,'"',' id="',c||b,'"',' value="',d||"",'"/>')}
|
|
||||||
function DIT_deletePrompt(){DIT_promptNames.splice(DIT_currentPromptIndex,1,"<DELETED>");$("prompt_name_"+DIT_currentPromptIndex).value="<DELETED>";_toggleHidden($("prompt_edit_panel"));$("delbtn").disabled="disabled";for(var a=[],b=0;b<DIT_promptNames.length;b++)"<DELETED>"!=DIT_promptNames[b]&&a.push("<option value="+b,">",DIT_promptNames[b],"</option>");$("prompt_menu").innerHTML=a.join("");DIT_rebuildDefaultPromptMenu("default_prompt_for_developers");DIT_rebuildDefaultPromptMenu("default_prompt_for_users")}
|
|
||||||
function DIT_rebuildDefaultPromptMenu(a){for(var b=$(a).value,c=[],d=0;d<DIT_promptNames.length;d++)"<DELETED>"!=DIT_promptNames[d]&&(c.push('<option value="',DIT_promptNames[d],'"'),b==DIT_promptNames[d]&&c.push(' selected="selected"'),c.push(">",DIT_promptNames[d],"</option>"));$(a).innerHTML=c.join("")}
|
|
||||||
function DIT_switchPrompt(a,b,c){var d=!0;DIT_isDirty&&(d=confirm("Switching to a different template will lose the text you entered."));d&&(a=a?"/a/"+a:"",window.location=a+"/p/"+b+"/issues/entry?template="+c)}
|
|
||||||
function DIT_savePrompt(){if(DIT_currentPromptIndex){$("prompt_members_only_"+DIT_currentPromptIndex).value=$("prompt_members_only_checkbox").checked?"yes":"";$("prompt_summary_"+DIT_currentPromptIndex).value=$("prompt_summary_editor").value;$("prompt_summary_must_be_edited_"+DIT_currentPromptIndex).value=$("prompt_summary_must_be_edited_checkbox").checked?"yes":"";$("prompt_text_"+DIT_currentPromptIndex).value=$("prompt_text_editor").value;$("prompt_status_"+DIT_currentPromptIndex).value=$("prompt_status_editor").value;
|
|
||||||
$("prompt_owner_"+DIT_currentPromptIndex).value=$("prompt_owner_editor").value;$("owner_defaults_to_member_"+DIT_currentPromptIndex).value=$("owner_defaults_to_member_checkbox").checked?"yes":"";$("owner_defaults_to_member_area").style.display=$("prompt_owner_editor").value?"none":"";for(var a=0;15>a;a++)$("prompt_label_"+DIT_currentPromptIndex+"_"+a).value=$("prompt_label_editor"+a).value}}
|
|
||||||
function DIT_toggleStar(a,b,c,d,e){var f=-1!=a.src.indexOf("star_off.gif")?1:0;a.src=f?"//ssl.gstatic.com/codesite/ph/images/star_on.gif":"//ssl.gstatic.com/codesite/ph/images/star_off.gif";a=d;DIT_starXmlHttp=XH_XmlHttpCreate();b=b?"/a/"+b:"";e=b+"/p/"+c+"/issues/setstar.do?alt=js&issueid="+a+"&starred="+f+"&cd="+(new Date).getTime()+"&token="+e;XH_XmlHttpGET(DIT_starXmlHttp,e,DIT_setStarCallback)}
|
|
||||||
function DIT_syncStarIcons(a,b){var c=document.getElementById(b);c&&(c.src=a.src);if(c=document.getElementById("vote_feedback"))c.innerHTML=-1!=a.src.indexOf("off.gif")?"Vote for this issue and get email change notifications.":"Your vote has been recorded."}function DIT_IssueMigrationValidator(a,b){this.id=a;this.target=b;this.responseTarget=$("derived_labels_target");this.oldValue=b.value}
|
|
||||||
DIT_IssueMigrationValidator.prototype.getDerivedLabels=function(){var a=XH_XmlHttpCreate(),b=CS_env.projectHomeUrl+"/feeds/issueDerivedLabels?id="+this.id+"&project_name="+this.target.value+"&token="+CS_env.token,c=this.responseTarget;XH_XmlHttpGET(a,b,function(){if(4==a.readyState&&200==a.status){var b=eval("("+a.responseText+")");showIssueMigrationResults(b,c)}})};
|
|
||||||
function showIssueMigrationResults(a,b){b.innerHTML="";if(null==a.error){var c=a.derived_labels;if(!(0>=c.length)){var d=createSpanWithClassText("result_title","Derived labels: ");b.appendChild(d);for(d=0;d<c.length;d++){var e=createSpanWithClassText("result_item label",c[d]);b.appendChild(e)}}}else d=createSpanWithClassText("error_title fielderror",a.error+" "),b.appendChild(d),c=createSpanWithClassText("error_msg error fielderror",a.details),b.appendChild(c)}
|
|
||||||
function createSpanWithClassText(a,b){var c=document.createElement("span");c.setAttribute("class",a);c.appendChild(document.createTextNode(b));return c}DIT_IssueMigrationValidator.prototype.pollForChange=function(){var a=this.target.value;""==a||null==a?this.responseTarget.innerHTML="":a!=this.oldValue&&this.getDerivedLabels();this.oldValue=a};function DIT_attachIssueMigrationValidator(a,b){var c=$(a),d=new DIT_IssueMigrationValidator(b,c);window.setInterval(function(){d.pollForChange()},800)}
|
|
||||||
var DIT_starXmlHttp=void 0;function DIT_setStarCallback(){4==DIT_starXmlHttp.readyState&&200==DIT_starXmlHttp.status&&DIT_gotSetStar(DIT_starXmlHttp.responseText)}function DIT_gotSetStar(a){_d=null;try{eval("_d="+a)}catch(b){return alert("DIT: error parsing response of issue starring"),null}}function DIT_toggleStarLocal(a,b){var c=-1!=a.src.indexOf("star_off.gif")?1:0;a.src=c?"//ssl.gstatic.com/codesite/ph/images/star_on.gif":"//ssl.gstatic.com/codesite/ph/images/star_off.gif";$(b).value=""+c}
|
|
||||||
var DIT_isDirty=!1;function DIT_dirty(){DIT_isDirty=!0}function DIT_confirmDiscardUpdate(a){if(!DIT_isDirty||confirm("Discard your changes?"))document.location=a}function DIT_confirmDiscardEntry(){if(!DIT_isDirty||confirm("Discard your changes?"))document.location="list"}
|
|
||||||
function DIT_exposeExistingLabelFields(a){($("label"+a+"3").value||$("label"+a+"4").value||$("label"+a+"5").value)&&$("addrow1")&&(_showID(a+"row2"),_hideID("addrow1"));if($("label"+a+"6").value||$("label"+a+"7").value||$("label"+a+"8").value)_showID(a+"row3"),_hideID("addrow2");if($("label"+a+"9").value||$("label"+a+"10").value||$("label"+a+"11").value)_showID(a+"row4"),_hideID("addrow3");if($("label"+a+"12").value||$("label"+a+"13").value||$("label"+a+"14").value)_showID(a+"row5"),_hideID("addrow4");
|
|
||||||
if($("label"+a+"15").value||$("label"+a+"16").value||$("label"+a+"17").value)_showID(a+"row6"),_hideID("addrow5");if($("label"+a+"18").value||$("label"+a+"19").value||$("label"+a+"20").value)_showID(a+"row7"),_hideID("addrow6");if($("label"+a+"21").value||$("label"+a+"22").value||$("label"+a+"23").value)_showID(a+"row8"),_hideID("addrow7")}var DIT_firstEvent=!0;
|
|
||||||
function DIT_clearOnFirstEvent(){if(DIT_firstEvent){DIT_firstEvent=!1;var a=$("summary"),b;b=$("summary").value;b=b.match(/^(\[[^\]]+\])+|^(\S+:\s*)+/);null==b?b="":(b=b[0]," "!=b.substr(b.length-1)&&(b+=" "));a.value=b}}var DIT_novelStatuses=[],DIT_novelLabels=[];
|
|
||||||
function DIT_confirmNovelStatus(a){for(var b=a.value.trim().toLowerCase(),c=""!==b,d=DIT_statusWords,e=0;e<d.length&&c;++e){var f=d[e];b==f.toLowerCase()&&(c=!1)}c?(-1==DIT_novelStatuses.indexOf(a)&&DIT_novelStatuses.push(a),AddClass(a,"novel"),AddClass(a,"hasfocus")):(-1!=DIT_novelStatuses.indexOf(a)&&DIT_novelStatuses.splice(DIT_novelStatuses.indexOf(a),1),RemoveClass(a,"novel"));DIT_updateConfirmBeforeSubmit();return!0}
|
|
||||||
function DIT_confirmNovelLabel(a){var b=a.value.trim().toLowerCase();0==b.search("-")&&(b=b.substr(1));var c=""!==b;-1<b.indexOf("?")&&(c=!1);for(var d=DIT_labelWords,e=0;e<d.length&&c;++e){var f=d[e];b==f.toLowerCase()&&(c=!1)}c?(-1==DIT_novelLabels.indexOf(a)&&DIT_novelLabels.push(a),AddClass(a,"novel"),AddClass(a,"hasfocus")):(-1!=DIT_novelLabels.indexOf(a)&&DIT_novelLabels.splice(DIT_novelLabels.indexOf(a),1),RemoveClass(a,"novel"));DIT_updateConfirmBeforeSubmit();return!0}
|
|
||||||
var DIT_usedPrefixes={},DIT_labelFieldIDPrefix="";function DIT_prepLabelAC(a){for(var b=0;24>b;b++)DIT_validateLabel($(a+b))}var DIT_labelsBlockingSubmit=[];
|
|
||||||
function DIT_validateLabel(a){if(void 0!=a){DIT_confirmNovelLabel(a);var b=a;if(void 0!=b.oldPrefix){for(var c=DIT_usedPrefixes[b.oldPrefix],d=0;d<c.length&&c[d]!=b;)d++;c.splice(d,1)}c=b.value.split("-")[0].toLowerCase();void 0==DIT_usedPrefixes[c]?DIT_usedPrefixes[c]=[b]:DIT_usedPrefixes[c].push(b);b.oldPrefix=c;var b=[],e;for(e in DIT_usedPrefixes)if(c=DIT_usedPrefixes[e],void 0==c||0==c.length)delete DIT_usedPrefixes[e];else if(1<c.length&&-1!=FindInArray(DIT_exclPrefixes,e))for(b.push(e),d=0;d<
|
|
||||||
c.length;d++){var f=c[d];AddClass(f,"exclconflict")}else for(d=0;d<c.length;d++)f=c[d],RemoveClass(f,"exclconflict");0<b.length&&(e=DIT_restrict_to_known?"Error":"Warning",c=$("confirmarea"))&&($("confirmmsg").innerHTML=e+": Multiple values for: "+b.join(", "),c.className="exclconflict",c.style.display="");e=DIT_labelsBlockingSubmit.indexOf(a);-1<a.value.indexOf("?")&&-1==e?(DIT_labelsBlockingSubmit.push(a),AddClass(a,"questionmark")):-1==a.value.indexOf("?")&&-1<e&&(DIT_labelsBlockingSubmit.splice(e,
|
|
||||||
1),RemoveClass(a,"questionmark"));if(a=$("blocksubmitmsg"))a.innerHTML=0<DIT_labelsBlockingSubmit.length?'You must edit labels that contain "?".':""}}
|
|
||||||
function DIT_updateConfirmBeforeSubmit(){var a=DIT_restrict_to_known?"Error":"Note",b=DIT_restrict_to_known?"undefined":"uncommon",c="";0<DIT_novelStatuses.length&&1==DIT_novelLabels.length?c=a+": You are using an "+b+" status and an "+b+" label.":0<DIT_novelStatuses.length&&1<DIT_novelLabels.length?c=a+": You are using an "+b+" status and "+DIT_novelLabels.length+" "+b+" labels.":0<DIT_novelStatuses.length?c=a+": You are using an "+b+" status value.":1==DIT_novelLabels.length?c=a+": You are using an "+
|
|
||||||
b+" label.":1<DIT_novelLabels.length&&(c=a+": You are using "+DIT_novelLabels.length+" "+b+" labels.");if(a=$("confirmarea"))$("confirmmsg").innerHTML=c,""!=c?(a.className="novel",a.style.display=""):a.style.display="none"}
|
|
||||||
function DIT_handleListActions(a){switch(a.value){case "bulk":for(var b=[],c=0;c<issueRefs.length;c++){var d=document.getElementById("cb_"+issueRefs[c].id);d&&d.checked&&b.push(issueRefs[c].id)}0<b.length?(b=b.join(","),b="bulkedit?ids="+b,document.location=b+_ctxArgs):alert("Please select some issues to edit");break;case "colspec":DIT_closeAllPopups(a),_showID("columnspec")}a.value="moreactions"}
|
|
||||||
function DIT_handleDetailActions(){var a=$("more_actions");switch(a.value){case "delete":var b=confirm("Normally, you should just close issues by setting their status to a closed value.\nAre you sure you want to delete this issue?");if(b){$("delete_form").submit();return}break;case "move":_showID("move_issue_form_fragment");return}a.value="0"}var DIT_allOrigLabels=[];
|
|
||||||
function DIT_checkPlusOne(){var a=$("addCommentTextArea").value;return/^\s*[-+]+[0-9]+\s*.{0,30}$/m.test(a)&&150>a.length?(alert('This looks like a "+1" comment.\nPlease use the star icon instead.\nStars show your interest without annoying other users.'),!1):/^\s*me too.{0,30}$/i.test(a)?(alert('This looks like a "me too" comment.\nPlease use the star icon instead.\nStars show your interest without annoying other users.'),!1):!0}
|
|
||||||
function DIT_checkUnrestrict(a){for(var b=[],c=0;c<DIT_allOrigLabels.length;++c){var d=DIT_allOrigLabels[c];if(0==d.indexOf("Restrict-")){for(var e=!1,f=0;24>f;++f){var g=$("labeledit"+f).value;if(g==d){e=!0;break}}e||b.push(d)}}if(0==b.length)return!0;if(a)return alert("You may not remove restriction labels."),!1;a="You are removing these restrictions:\n "+b.join("\n ")+"\nThis may allow more people to access this issue.\nAre you sure?";return confirm(a)}
|
|
||||||
function DIT_addColumn(a){var b=DIT_getColspecElement();b.value=b.value+" "+a;$("colspecform").submit()}var DIT_lastSelectedRow=void 0;
|
|
||||||
function DIT_checkRangeSelect(a,b){var c=b.parentNode.parentNode.rowIndex;if(c!=DIT_lastSelectedRow){var d;if((d=(d=(d=a)?d:window.event?window.event:"")?d.modifiers?d.modifiers&Event.SHIFT_MASK:d.shiftKey:!1)&&void 0!=DIT_lastSelectedRow){d=$("resultstable");for(var e=c>DIT_lastSelectedRow?1:-1,f=DIT_lastSelectedRow;f!=c;f+=e){var g=d.rows[f],h=b.checked;if(g){g.className=h?"selected":"";for(g=g.firstChild;g&&"TD"!=g.tagName;)g=g.nextSibling;if(g){for(g=g.firstChild;g&&"INPUT"!=g.tagName;)g=g.nextSibling;
|
|
||||||
g&&(g.checked=h)}}}}DIT_lastSelectedRow=c}}function DIT_makeIssueLink(a){return a.issue_url+_ctxArgs}function DIT_setRowLinks(){_ctxArgs=_formatContextQueryArgs();if(0!=issueRefs.length)for(var a=$("resultstable"),b=0,c=1;c<a.rows.length;c++){var d=a.rows[c];if("TR"==d.tagName&&!HasClass(d,"group_row")){for(var e=DIT_makeIssueLink(issueRefs[b]),f=0;f<d.cells.length;f++)for(var g=d.cells[f],g=g.firstChild;g;g=g.nextSibling)if("A"==g.tagName){g.href=e;break}b++}}}
|
|
||||||
function DIT_toggleColumnUpdate(a){for(var b=DIT_getColspecElement().value.split(" "),c=[],d=0;d<b.length;d++)_allColumnNames[a]!=b[d].toLowerCase()&&c.push(b[d]);DIT_getColspecElement().value=c.join(" ");DIT_getSearchColspecElement().value=c.join(" ");DIT_toggleColumn("hide_col_"+a);DIT_setRowLinks()}
|
|
||||||
function DIT_addGroupBy(a){a=_allColumnNames[a];for(var b=DIT_getColspecElement().value.split(" "),c=[],d=0;d<b.length;d++)b[d]&&a!=b[d].toLowerCase()&&c.push(b[d]);DIT_getColspecElement().value=c.join(" ");DIT_getSearchColspecElement().value=c.join(" ");for(var b=$("groupbyspec"),c=b.value.split(" "),e=[],d=0;d<c.length;d++)c[d]&&a!=c[d].toLowerCase()&&e.push(c[d]);e.push(a);b.value=e.join(" ");$("colspecform").submit()}
|
|
||||||
function DIT_newIssuePrompt(){return DIT_isDirty?confirm("You have unsaved changes. Are you sure you want to leave this page?"):!0};var DIT_peekXmlHttp=void 0,DIT_peekRow=void 0,DIT_seenPeeks={};function DIT_toggleInfoPeek(a,b){$("infobubble").style.display?DIT_hideInfoPeek():(void 0==DIT_selected&&kibbles.skipper.setCurrentStop(0),DIT_showInfoPeek(a,DIT_selected,b,1))}function DIT_hideInfoPeek(){var a=$("infobubble");a&&(a.style.display="",a.style.left="-2000px",_qeDirty=!1)}function DIT_hideInfoPeekIfClickedOutside(a){var b=$("infobubble");if(b){for(a=a.srcElement||a.target;a&&a!=b;)a=a.parentNode;a||DIT_hideInfoPeek()}}
|
|
||||||
function DIT_showInfoPeek(a,b,c,d){DIT_peekRow=b;DIT_doPeekXHR(a,c,d);DIT_previewMouseout();DIT_displayInfoBubble()}var DIT_hoverTimer=void 0;function DIT_previewMouseover(a,b){_qeDirty||(DIT_peekRow=b,DIT_doPeekXHR(a,!1,0),DIT_hoverTimer&&window.clearTimeout(DIT_hoverTimer),DIT_hoverTimer=window.setTimeout(DIT_displayInfoBubble,200))}function DIT_previewMouseout(){DIT_hoverTimer&&(window.clearTimeout(DIT_hoverTimer),DIT_hoverTimer=void 0)}
|
|
||||||
function DIT_displayInfoBubble(){var a=$("infobubble");if(DIT_seenPeeks[DIT_peekRow])$("peekarea").innerHTML=DIT_seenPeeks[DIT_peekRow];else{var b=a;$("peekarea").innerHTML='<div class="loading">Loading...</div>';if("block"!=b.style.display)for(b.style.opacity=.1,b=1;5>=b;b++){var c=b/5;window.setTimeout('document.getElementById("infobubble").style.opacity='+c,400*b/5)}}DIT_commentNavEl=void 0;b=nodeBounds(DIT_cursorStops[DIT_peekRow]);a.style.display="block";c=b.y+b.h+0;a.style.top=c+"px";c=nodeBounds(a);
|
|
||||||
c.y+c.h>window.pageYOffset+window.innerHeight&&(c=b.y-c.h-0,c>=window.pageYOffset&&(a.style.top=c+"px"));a.style.left="110px";_qeDirty=!1}function DIT_doPeekXHR(a,b,c){a=issueRefs[DIT_peekRow];a=a.issue_url;a=a.replace("/detail?","/peek?")+_ctxArgs;DIT_peekXmlHttp=XH_XmlHttpCreate();XH_XmlHttpGET(DIT_peekXmlHttp,a,function(){4==DIT_peekXmlHttp.readyState&&200==DIT_peekXmlHttp.status&&DIT_gotPeek(DIT_peekXmlHttp.responseText,!0,b,0,c)})}
|
|
||||||
function DIT_gotPeek(a,b,c,d,e){b&&($("peekarea").innerHTML=a,c&&DIT_lastComment());for(DIT_seenPeeks[DIT_peekRow+d]=a;d<e&&DIT_peekRow+d+1<issueRefs.length&&void 0!=DIT_seenPeeks[DIT_peekRow+d+1];)d++;d<e&&DIT_peekRow+d+1<issueRefs.length&&(a=issueRefs[DIT_peekRow+d+1],a=a.issue_url,a=a.replace("/detail?","/peek?")+_ctxArgs,DIT_peekXmlHttp=XH_XmlHttpCreate(),XH_XmlHttpGET(DIT_peekXmlHttp,a,function(){4==DIT_peekXmlHttp.readyState&&200==DIT_peekXmlHttp.status&&DIT_gotPeek(DIT_peekXmlHttp.responseText,
|
|
||||||
!1,!1,d+1,e)}))}function DIT_keepInfoPeekOpen(a,b){var c=$("infobubble");""!=c.style.display&&DIT_showInfoPeek(a,DIT_selected,!1,b)}var DIT_commentNavEl=void 0;function DIT_scrollToPeekComment(a){a=a.offsetTop;$("issuecomments").scrollTop=a-30}function DIT_pickQuickEditHistory(a){var b=$("cmd");b&&(b.value=$("recent_cmd_"+a).value,$("comment").value=$("recent_comment_"+a).value,$("slot_used").value=""+a)}
|
|
||||||
function DIT_findNextCommentElement(a){for(;a&&(!a.id||"hc"!=a.id.substr(0,2));)a=a.nextSibling;return a}function DIT_findPrevCommentElement(a){for(;a&&(!a.id||"hc"!=a.id.substr(0,2));)a=a.previousSibling;return a}function DIT_nextComment(){var a;void 0==DIT_commentNavEl?(a=$("issuecomments").firstChild,a=DIT_findNextCommentElement(a),a=a.nextSibling):a=DIT_commentNavEl.nextSibling;if(a=DIT_findNextCommentElement(a))DIT_commentNavEl=a,DIT_scrollToPeekComment(DIT_commentNavEl)}
|
|
||||||
function DIT_prevComment(){var a;a=void 0==DIT_commentNavEl?$("issuecomments").lastChild:DIT_commentNavEl.previousSibling;if(a=DIT_findPrevCommentElement(a))DIT_commentNavEl=a,DIT_scrollToPeekComment(DIT_commentNavEl)}function DIT_firstComment(){DIT_commentNavEl=$("issuecomments").firstChild;DIT_commentNavEl=DIT_findNextCommentElement(DIT_commentNavEl);DIT_scrollToPeekComment(DIT_commentNavEl)}
|
|
||||||
function DIT_lastComment(){DIT_commentNavEl=$("issuecomments").lastChild;DIT_commentNavEl=DIT_findPrevCommentElement(DIT_commentNavEl);DIT_scrollToPeekComment(DIT_commentNavEl)}function DIT_toggleRedoMenu(a){"block"==$("redoMenu").style.display?DIT_closePopup("redoMenu"):DIT_showBelow("redoMenu",a,-$("infobubble").offsetLeft,-$("infobubble").offsetTop,a);return!1}function DIT_selectRecentCommand(a){DIT_pickQuickEditHistory(a);DIT_closePopup("redoMenu");return!1};var DIT_cursorStops,DIT_selected=void 0;function DIT_focusArtifactSearchField(){var a=DIT_getArtifactSearchField();a.focus();a.select()}function DIT_closeKeystrokeHelp(){var a=document.getElementById("keys_help");a&&(a.style.display="none")}function DIT_toggleKeystrokeHelp(){var a=document.getElementById("keys_help");a?a.style.display=a.style.display?"":"none":(DIT_helpXmlHttp=XH_XmlHttpCreate(),XH_XmlHttpGET(DIT_helpXmlHttp,"/hosting/issues/keyshelp",DIT_helpCallback))}var DIT_helpXmlHttp=void 0;
|
|
||||||
function DIT_helpCallback(){if(4==DIT_helpXmlHttp.readyState&&200==DIT_helpXmlHttp.status){var a=document.getElementById("helparea");a&&(a.innerHTML=DIT_helpXmlHttp.responseText)}}
|
|
||||||
function DIT_setupKibblesComponentKeys(a,b,c){kibbles.keys.addKeyPressListener("/",function(){window.setTimeout(DIT_focusArtifactSearchField,10)});"entry"!=c&&kibbles.keys.addKeyPressListener("c",function(){document.location=b});"list"!=c&&kibbles.keys.addKeyPressListener("u",function(){document.location=a});kibbles.keys.addKeyPressListener("?",DIT_toggleKeystrokeHelp);kibbles.keys.addKeyPressListener("ESC",DIT_closeKeystrokeHelp);kibbles.keys.addKeyPressListener("ESC",DIT_hideInfoPeek)}
|
|
||||||
function DIT_openArtifactAtCursor(a){0<=DIT_selected&&DIT_selected<DIT_cursorStops.length&&(a=DIT_cursorStops[DIT_selected].childNodes[a],a=a.childNodes[0])&&(a=a.getAttribute("href"),document.location=a)}function DIT_updateCursor(a,b){DIT_selected=void 0;b&&(RemoveClass(b.element,"cursor_on"),AddClass(b.element,"cursor_off"),DIT_rowRolloverOff(b.element));a&&a.element&&(RemoveClass(a.element,"cursor_off"),AddClass(a.element,"cursor_on"),DIT_selected=a.index,DIT_rowRolloverOn(a.element))}
|
|
||||||
function DIT_accumulateCursorRows(a,b){for(var c=0;c<a.childNodes.length;c++){var d=a.childNodes[c],e=d.tagName;e&&("TR"==e||"DIV"==e)&&0<=d.className.indexOf("cursor")&&(d.cursorIndex=b.length,b.push(d));DIT_accumulateCursorRows(d,b)}}
|
|
||||||
function DIT_setupKibblesCursorStops(){kibbles.skipper.addStopListener(kibbles.skipper.LISTENER_TYPE.PRE,DIT_updateCursor);kibbles.skipper.setOption("padding_top",50);kibbles.skipper.setOption("padding_bottom",50);var a=[],b=document.getElementById("cursorarea");DIT_accumulateCursorRows(b,a);DIT_cursorStops=a;for(a=0;a<DIT_cursorStops.length;a++)b=DIT_cursorStops[a],kibbles.skipper.append(b),0<=b.className.indexOf("cursor_on")&&kibbles.skipper.setCurrentStop(a)}
|
|
||||||
function DIT_setupKibblesOnEntryPage(a,b){DIT_setupKibblesComponentKeys(a,b,"entry")}
|
|
||||||
function DIT_setupKibblesOnListPage(a,b,c,d,e,f,g){DIT_setupKibblesCursorStops(!0);kibbles.skipper.addFwdKey("j");kibbles.skipper.addRevKey("k");kibbles.keys.addKeyPressListener("j",function(){DIT_keepInfoPeekOpen(c,d,3)});kibbles.keys.addKeyPressListener("k",function(){DIT_keepInfoPeekOpen(c,d,0)});kibbles.keys.addKeyPressListener("m",function(){var a=$("cmd");a&&a.select()});kibbles.keys.addKeyPressListener("e",function(){var a=$("quickeditform");a&&(AddClass($("execute"),"mode_button_active"),
|
|
||||||
a.submit())});kibbles.keys.addKeyPressListener("1",function(){DIT_pickQuickEditHistory(1)});kibbles.keys.addKeyPressListener("2",function(){DIT_pickQuickEditHistory(2)});kibbles.keys.addKeyPressListener("3",function(){DIT_pickQuickEditHistory(3)});kibbles.keys.addKeyPressListener("4",function(){DIT_pickQuickEditHistory(4)});kibbles.keys.addKeyPressListener("5",function(){DIT_pickQuickEditHistory(5)});if(void 0!=f){var h=f;kibbles.keys.addKeyPressListener("x",function(){if(0<=DIT_selected&&DIT_selected<
|
|
||||||
DIT_cursorStops.length){for(var a=DIT_cursorStops[DIT_selected].childNodes[h],a=a.firstChild;a&&"INPUT"!=a.tagName;)a=a.nextSibling;a&&(a.checked=a.checked?"":"checked")}});kibbles.keys.addKeyPressListener("s",function(){if(0<=DIT_selected&&DIT_selected<DIT_cursorStops.length){for(var a=DIT_cursorStops[DIT_selected].childNodes[h],a=a.firstChild;a&&"IMG"!=a.tagName;)a=a.nextSibling;a&&_toggleStar(a,c,issueRefs[DIT_selected].project_name,issueRefs[DIT_selected].id,g)}})}kibbles.keys.addKeyPressListener("o",
|
|
||||||
function(){DIT_openArtifactAtCursor(e)});kibbles.keys.addKeyPressListener("enter",function(){DIT_openArtifactAtCursor(e)});kibbles.keys.addKeyPressListener("h",function(){DIT_toggleInfoPeek(c)});kibbles.keys.addKeyPressListener("f",DIT_firstComment);kibbles.keys.addKeyPressListener("p",DIT_prevComment);kibbles.keys.addKeyPressListener("n",DIT_nextComment);kibbles.keys.addKeyPressListener("l",DIT_lastComment);DIT_setupKibblesComponentKeys(a,b,"list")}
|
|
||||||
function DIT_setupKibblesOnDetailPage(a,b,c,d,e,f,g,h,k,m){DIT_setupKibblesCursorStops(!1);kibbles.skipper.addFwdKey("n");kibbles.skipper.addRevKey("p");c&&kibbles.keys.addKeyPressListener("k",function(){document.location=c});d&&kibbles.keys.addKeyPressListener("j",function(){document.location=d});h&&kibbles.keys.addKeyPressListener("r",function(){window.setTimeout("_openIssueUpdateForm()",10)});k&&kibbles.keys.addKeyPressListener("s",function(){var a=document.getElementById("star");DIT_toggleStar(a,
|
|
||||||
e,f,g,m);DIT_syncStarIcons(a,"star2")});DIT_setupKibblesComponentKeys(a,b,"detail")};function DIT_getColspecElement(){return document.getElementById("colspec_field").firstChild}function DIT_getSearchColspecElement(){return document.getElementById("search_colspec").firstChild}function DIT_getArtifactSearchField(){var a=document.getElementById("qq");return a?a.firstChild:void 0}function DIT_autosizeArtifactSerchField(){var a=DIT_getArtifactSearchField();if(a){var b=a.value.length+3;75<b&&(b=75);b>a.size&&(a.size=b)}}window.setInterval(DIT_autosizeArtifactSerchField,700);
|
|
||||||
function DIT_formatContextQueryArgs(){var a="",b=DIT_getColspecElement().value;2!=_ctxCan&&(a+="&can="+_ctxCan);""!=_ctxQuery&&(a+="&q="+encodeURIComponent(_ctxQuery));""!=_ctxSortspec&&(a+="&sort="+_ctxSortspec);""!=_ctxGroupBy&&(a+="&groupby="+_ctxGroupBy);b!=_ctxDefaultColspec&&(a+="&colspec="+b);0!=_ctxStart&&(a+="&start="+_ctxStart);_ctxNum!=_ctxResultsPerPage&&(a+="&num="+_ctxNum);return a}var _PRETOKENIZED_FIELDS=["owner","reporter","cc","commentby"];
|
|
||||||
function DIT_filterTo(a,b){var c=DIT_getArtifactSearchField().value;""!=c&&(c+=" ");for(var d="=",e=0;e<_PRETOKENIZED_FIELDS.length;e++)if(a==_PRETOKENIZED_FIELDS[e]){d=":";break}c+=a+d+b;c="list?can="+$("can").value+"&q="+c;$("sort")&&$("sort").value&&(c+="&sort="+$("sort").value);c+="&colspec="+DIT_getColspecElement().value;document.location=c}
|
|
||||||
function DIT_addSort(a,b){var c="";$("sort")&&(c=$("sort").value);var c=c.split(/ +/),d=a;b&&(d="-"+a);for(var d=[d],e=0;e<c.length;e++)""!=c[e]&&c[e]!=a&&c[e]!="-"+a&&d.push(c[e]);c="list?can="+$("can").value+"&q="+DIT_getArtifactSearchField().value;c+="&sort="+d.join("+");c+="&colspec="+DIT_getColspecElement().value;document.location=c}function DIT_sortUp(a){DIT_addSort(a,!1)}function DIT_sortDown(a){DIT_addSort(a,!0)};void 0==Array.prototype.indexOf&&(Array.prototype.indexOf=function(a){for(var b=0;b<this.length;++b)if(this[b]==a)return b;return-1});function DIT_forceProperTableWidth(){var a=$("confirmarea");a&&(a.style.display="none")};function DIT_onload(){_ac_install();_ac_register(function(a){if(a.id.startsWith("search"))return DIT_searchStore;if(a.id.startsWith("cmd"))return DIT_quickEditStore;if(a.id.startsWith("label"))return DIT_labelStore;if(a.id.startsWith("status"))return DIT_statusStore;if(a.id.startsWith("member"))return DIT_memberListStore;if(a.id.startsWith("owner"))return DIT_ownerStore;if(-1!=a.className.indexOf("autocomplete"))return DIT_autoCompleteStore});_PC_Install();DIT_allColumnNames=_allColumnNames;DIT_labelFieldIDPrefix=
|
|
||||||
_lfidprefix;DIT_allOrigLabels=_allOrigLabels}_selectAllIssues=DIT_selectAllIssues;_selectNoneIssues=DIT_selectNoneIssues;_toggleRows=DIT_toggleRows;_toggleColumn=DIT_toggleColumn;_toggleColumnUpdate=DIT_toggleColumnUpdate;_addGroupBy=DIT_addGroupBy;_addcol=DIT_addColumn;_checkRangeSelect=DIT_checkRangeSelect;_makeIssueLink=DIT_makeIssueLink;_setRowLinks=DIT_setRowLinks;_onload=DIT_onload;_handleListActions=DIT_handleListActions;_handleDetailActions=DIT_handleDetailActions;_fetchOptions=DIT_fetchOptions;
|
|
||||||
_fetchSiteOptions=DIT_fetchSiteOptions;_setACOptions=DIT_setUpAutoCompleteStore;_openIssueUpdateForm=DIT_openIssueUpdateForm;_addAttachmentFields=DIT_addAttachmentFields;_acstore=_AC_SimpleStore;_accomp=_AC_Completion;_acreg=_ac_register;_formatContextQueryArgs=DIT_formatContextQueryArgs;_ctxArgs="";_ctxResultsPerPage=_ctxNum=_ctxStart=_ctxDefaultColspec=_ctxGroupBy=_ctxSortspec=_ctxQuery=_ctxCan=void 0;_filterTo=DIT_filterTo;_sortUp=DIT_sortUp;_sortDown=DIT_sortDown;_closeAllPopups=DIT_closeAllPopups;
|
|
||||||
_closeSubmenus=DIT_closeSubmenus;_showRight=DIT_showRight;_showBelow=DIT_showBelow;_highlightRow=DIT_highlightRow;_highlightRowCallback=DIT_highlightRowCallback;_floatMetadata=DIT_floatMetadata;_floatVertically=DIT_floatVertically;_selectPrompt=DIT_selectPrompt;_savePrompt=DIT_savePrompt;_newPrompt=DIT_newPrompt;_deletePrompt=DIT_deletePrompt;_switchPrompt=DIT_switchPrompt;_promptNames=DIT_promptNames;_toggleStar=DIT_toggleStar;_syncStarIcons=DIT_syncStarIcons;_toggleStarLocal=DIT_toggleStarLocal;
|
|
||||||
_rowRolloverOn=DIT_rowRolloverOn;_rowRolloverOff=DIT_rowRolloverOff;_confirmNovelStatus=DIT_confirmNovelStatus;_confirmNovelLabel=DIT_confirmNovelLabel;_vallab=DIT_validateLabel;_dirty=DIT_dirty;_exposeExistingLabelFields=DIT_exposeExistingLabelFields;_confirmDiscardEntry=DIT_confirmDiscardEntry;_confirmDiscardUpdate=DIT_confirmDiscardUpdate;_allOrigLabels=_lfidprefix=void 0;_checkPlusOne=DIT_checkPlusOne;_checkUnrestrict=DIT_checkUnrestrict;_clearOnFirstEvent=DIT_clearOnFirstEvent;
|
|
||||||
_forceProperTableWidth=DIT_forceProperTableWidth;_RC=RemoveClass;_acof=_ac_onfocus;_acmo=_ac_mouseover;_acse=_ac_select;_acrob=_ac_real_onblur;_allColumnNames=[];_attachIssueMoveValidator=DIT_attachIssueMigrationValidator;_getColspec=DIT_getColspecElement;_getSearchColspec=DIT_getSearchColspecElement;function closeAutocompleteAndIssuePreview(a){_ac_fake_onblur(a);DIT_hideInfoPeekIfClickedOutside(a)}
|
|
||||||
-1!=navigator.userAgent.toLowerCase().indexOf("webkit")?simpleBindEvent(document,"click",closeAutocompleteAndIssuePreview):simpleBindEvent(document,"click",DIT_hideInfoPeekIfClickedOutside);document.captureEvents&&document.captureEvents(Event.CLICK);_setPeoplePrefs=DIT_setPeoplePrefs;_setupKibblesOnEntryPage=DIT_setupKibblesOnEntryPage;_setupKibblesOnListPage=DIT_setupKibblesOnListPage;_setupKibblesOnDetailPage=DIT_setupKibblesOnDetailPage;_previewMouseover=DIT_previewMouseover;_previewMouseout=DIT_previewMouseout;
|
|
||||||
_showInfoPeek=DIT_showInfoPeek;_hideInfoPeek=DIT_hideInfoPeek;_toggleInfoPeek=DIT_toggleInfoPeek;_toggleRedoMenu=DIT_toggleRedoMenu;_selectRecentCommand=DIT_selectRecentCommand;_firstComment=DIT_firstComment;_prevComment=DIT_prevComment;_nextComment=DIT_nextComment;_lastComment=DIT_lastComment;_blurOnEsc=DIT_blurOnEsc;_newIssuePrompt=DIT_newIssuePrompt;})()
|
|
|
@ -1,66 +0,0 @@
|
||||||
(function(){var aa=encodeURIComponent,ba=Infinity,ca=setTimeout,da=isNaN,m=Math,ea=decodeURIComponent;function Ie(a,b){return a.onload=b}function Je(a,b){return a.onerror=b}function ha(a,b){return a.name=b}
|
|
||||||
var p="replace",la="floor",ma="charAt",oa="match",pa="port",qa="createElement",g="getTime",u="host",v="toString",y="split",ta="stopPropagation",z="location",va="search",A="protocol",xa="href",ya="apply",n="push",ia="test",ja="slice",ka="load",na="value",q="indexOf",ra="path",r="name",w="length",x="prototype",sa="clientWidth",ua="scope",wa="clientHeight",B="substring",za="navigator",C="join",D="toLowerCase",E;function Aa(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:return!!a;case 3:return 1E3*a}return a}function Ba(a){return"function"==typeof a}function Ca(a){return void 0!=a&&-1<(a.constructor+"")[q]("String")}function F(a,b){return void 0==a||"-"==a&&!b||""==a}function Da(a){if(!a||""==a)return"";for(;a&&-1<" \n\r\t"[q](a[ma](0));)a=a[B](1);for(;a&&-1<" \n\r\t"[q](a[ma](a[w]-1));)a=a[B](0,a[w]-1);return a}function Ea(){return m.round(2147483647*m.random())}function Fa(){}
|
|
||||||
function G(a,b){if(aa instanceof Function)return b?encodeURI(a):aa(a);H(68);return escape(a)}function I(a){a=a[y]("+")[C](" ");if(ea instanceof Function)try{return ea(a)}catch(b){H(17)}else H(68);return unescape(a)}var Ga=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)};
|
|
||||||
function Ia(a,b){if(a){var c=J[qa]("script");c.type="text/javascript";c.async=!0;c.src=a;c.id=b;var d=J.getElementsByTagName("script")[0];d.parentNode.insertBefore(c,d);return c}}function K(a){return a&&0<a[w]?a[0]:""}function L(a){var b=a?a[w]:0;return 0<b?a[b-1]:""}var nf=function(){this.prefix="ga.";this.values={}};nf[x].set=function(a,b){this.values[this.prefix+a]=b};nf[x].get=function(a){return this.values[this.prefix+a]};nf[x].contains=function(a){return void 0!==this.get(a)};function Ka(a){0==a[q]("www.")&&(a=a[B](4));return a[D]()}function La(a,b){var c,d={url:a,protocol:"http",host:"",path:"",d:new nf,anchor:""};if(!a)return d;c=a[q]("://");0<=c&&(d.protocol=a[B](0,c),a=a[B](c+3));c=a[va]("/|\\?|#");if(0<=c)d.host=a[B](0,c)[D](),a=a[B](c);else return d.host=a[D](),d;c=a[q]("#");0<=c&&(d.anchor=a[B](c+1),a=a[B](0,c));c=a[q]("?");0<=c&&(Na(d.d,a[B](c+1)),a=a[B](0,c));d.anchor&&b&&Na(d.d,d.anchor);a&&"/"==a[ma](0)&&(a=a[B](1));d.path=a;return d}
|
|
||||||
function Oa(a,b){function c(a){var b=(a.hostname||"")[y](":")[0][D](),c=(a[A]||"")[D](),c=1*a[pa]||("http:"==c?80:"https:"==c?443:"");a=a.pathname||"";0==a[q]("/")||(a="/"+a);return[b,""+c,a]}var d=b||J[qa]("a");d.href=J[z][xa];var e=(d[A]||"")[D](),f=c(d),Be=d[va]||"",k=e+"//"+f[0]+(f[1]?":"+f[1]:"");0==a[q]("//")?a=e+a:0==a[q]("/")?a=k+a:a&&0!=a[q]("?")?0>a[y]("/")[0][q](":")&&(a=k+f[2][B](0,f[2].lastIndexOf("/"))+"/"+a):a=k+f[2]+(a||Be);d.href=a;e=c(d);return{protocol:(d[A]||"")[D](),host:e[0],
|
|
||||||
port:e[1],path:e[2],Oa:d[va]||"",url:a||""}}function Na(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b)[n](c)}for(var d=Da(b)[y]("&"),e=0;e<d[w];e++)if(d[e]){var f=d[e][q]("=");0>f?c(d[e],"1"):c(d[e][B](0,f),d[e][B](f+1))}}function Pa(a,b){if(F(a)||"["==a[ma](0)&&"]"==a[ma](a[w]-1))return"-";var c=J.domain;return a[q](c+(b&&"/"!=b?b:""))==(0==a[q]("http://")?7:0==a[q]("https://")?8:0)?"0":a};var Qa=0;function Ra(a,b,c){1<=Qa||1<=100*m.random()||ld()||(a=["utmt=error","utmerr="+a,"utmwv=5.6.4","utmn="+Ea(),"utmsp=1"],b&&a[n]("api="+b),c&&a[n]("msg="+G(c[B](0,100))),M.w&&a[n]("aip=1"),Sa(a[C]("&")),Qa++)};var Ta=0,Ua={};function N(a){return Va("x"+Ta++,a)}function Va(a,b){Ua[a]=!!b;return a}
|
|
||||||
var Wa=N(),Xa=Va("anonymizeIp"),Ya=N(),$a=N(),ab=N(),bb=N(),O=N(),P=N(),cb=N(),db=N(),eb=N(),fb=N(),gb=N(),hb=N(),ib=N(),jb=N(),kb=N(),lb=N(),nb=N(),ob=N(),pb=N(),qb=N(),rb=N(),sb=N(),tb=N(),ub=N(),vb=N(),wb=N(),xb=N(),yb=N(),zb=N(),Ab=N(),Bb=N(),Cb=N(),Db=N(),Eb=N(),Fb=N(!0),Gb=Va("currencyCode"),Hb=Va("page"),Ib=Va("title"),Jb=N(),Kb=N(),Lb=N(),Mb=N(),Nb=N(),Ob=N(),Pb=N(),Qb=N(),Rb=N(),Q=N(!0),Sb=N(!0),Tb=N(!0),Ub=N(!0),Vb=N(!0),Wb=N(!0),Zb=N(!0),$b=N(!0),ac=N(!0),bc=N(!0),cc=N(!0),R=N(!0),dc=N(!0),
|
|
||||||
ec=N(!0),fc=N(!0),gc=N(!0),hc=N(!0),ic=N(!0),jc=N(!0),S=N(!0),kc=N(!0),lc=N(!0),mc=N(!0),nc=N(!0),oc=N(!0),pc=N(!0),qc=N(!0),rc=Va("campaignParams"),sc=N(),tc=Va("hitCallback"),uc=N();N();var vc=N(),wc=N(),xc=N(),yc=N(),zc=N(),Ac=N(),Bc=N(),Cc=N(),Dc=N(),Ec=N(),Fc=N(),Gc=N(),Hc=N(),Ic=N();N();var Mc=N(),Nc=N(),Yb=N(),Jc=N(),Kc=N(),Lc=Va("utmtCookieName"),Cd=Va("displayFeatures"),Oc=N(),of=Va("gtmid"),Oe=Va("uaName"),Pe=Va("uaDomain"),Qe=Va("uaPath"),pf=Va("linkid");var Re=function(){function a(a,c,d){T(qf[x],a,c,d)}a("_createTracker",qf[x].r,55);a("_getTracker",qf[x].oa,0);a("_getTrackerByName",qf[x].u,51);a("_getTrackers",qf[x].pa,130);a("_anonymizeIp",qf[x].aa,16);a("_forceSSL",qf[x].la,125);a("_getPlugin",Pc,120)},Se=function(){function a(a,c,d){T(U[x],a,c,d)}Qc("_getName",$a,58);Qc("_getAccount",Wa,64);Qc("_visitCode",Q,54);Qc("_getClientInfo",ib,53,1);Qc("_getDetectTitle",lb,56,1);Qc("_getDetectFlash",jb,65,1);Qc("_getLocalGifPath",wb,57);Qc("_getServiceMode",
|
|
||||||
xb,59);V("_setClientInfo",ib,66,2);V("_setAccount",Wa,3);V("_setNamespace",Ya,48);V("_setAllowLinker",fb,11,2);V("_setDetectFlash",jb,61,2);V("_setDetectTitle",lb,62,2);V("_setLocalGifPath",wb,46,0);V("_setLocalServerMode",xb,92,void 0,0);V("_setRemoteServerMode",xb,63,void 0,1);V("_setLocalRemoteServerMode",xb,47,void 0,2);V("_setSampleRate",vb,45,1);V("_setCampaignTrack",kb,36,2);V("_setAllowAnchor",gb,7,2);V("_setCampNameKey",ob,41);V("_setCampContentKey",tb,38);V("_setCampIdKey",nb,39);V("_setCampMediumKey",
|
|
||||||
rb,40);V("_setCampNOKey",ub,42);V("_setCampSourceKey",qb,43);V("_setCampTermKey",sb,44);V("_setCampCIdKey",pb,37);V("_setCookiePath",P,9,0);V("_setMaxCustomVariables",yb,0,1);V("_setVisitorCookieTimeout",cb,28,1);V("_setSessionCookieTimeout",db,26,1);V("_setCampaignCookieTimeout",eb,29,1);V("_setReferrerOverride",Jb,49);V("_setSiteSpeedSampleRate",Dc,132);a("_trackPageview",U[x].Fa,1);a("_trackEvent",U[x].F,4);a("_trackPageLoadTime",U[x].Ea,100);a("_trackSocial",U[x].Ga,104);a("_trackTrans",U[x].Ia,
|
|
||||||
18);a("_sendXEvent",U[x].t,78);a("_createEventTracker",U[x].ia,74);a("_getVersion",U[x].qa,60);a("_setDomainName",U[x].B,6);a("_setAllowHash",U[x].va,8);a("_getLinkerUrl",U[x].na,52);a("_link",U[x].link,101);a("_linkByPost",U[x].ua,102);a("_setTrans",U[x].za,20);a("_addTrans",U[x].$,21);a("_addItem",U[x].Y,19);a("_clearTrans",U[x].ea,105);a("_setTransactionDelim",U[x].Aa,82);a("_setCustomVar",U[x].wa,10);a("_deleteCustomVar",U[x].ka,35);a("_getVisitorCustomVar",U[x].ra,50);a("_setXKey",U[x].Ca,83);
|
|
||||||
a("_setXValue",U[x].Da,84);a("_getXKey",U[x].sa,76);a("_getXValue",U[x].ta,77);a("_clearXKey",U[x].fa,72);a("_clearXValue",U[x].ga,73);a("_createXObj",U[x].ja,75);a("_addIgnoredOrganic",U[x].W,15);a("_clearIgnoredOrganic",U[x].ba,97);a("_addIgnoredRef",U[x].X,31);a("_clearIgnoredRef",U[x].ca,32);a("_addOrganic",U[x].Z,14);a("_clearOrganic",U[x].da,70);a("_cookiePathCopy",U[x].ha,30);a("_get",U[x].ma,106);a("_set",U[x].xa,107);a("_addEventListener",U[x].addEventListener,108);a("_removeEventListener",
|
|
||||||
U[x].removeEventListener,109);a("_addDevId",U[x].V);a("_getPlugin",Pc,122);a("_setPageGroup",U[x].ya,126);a("_trackTiming",U[x].Ha,124);a("_initData",U[x].v,2);a("_setVar",U[x].Ba,22);V("_setSessionTimeout",db,27,3);V("_setCookieTimeout",eb,25,3);V("_setCookiePersistence",cb,24,1);a("_setAutoTrackOutbound",Fa,79);a("_setTrackOutboundSubdomains",Fa,81);a("_setHrefExamineLimit",Fa,80)};function Pc(a){var b=this.plugins_;if(b)return b.get(a)}
|
|
||||||
var T=function(a,b,c,d){a[b]=function(){try{return void 0!=d&&H(d),c[ya](this,arguments)}catch(a){throw Ra("exc",b,a&&a[r]),a;}}},Qc=function(a,b,c,d){U[x][a]=function(){try{return H(c),Aa(this.a.get(b),d)}catch(e){throw Ra("exc",a,e&&e[r]),e;}}},V=function(a,b,c,d,e){U[x][a]=function(f){try{H(c),void 0==e?this.a.set(b,Aa(f,d)):this.a.set(b,e)}catch(Be){throw Ra("exc",a,Be&&Be[r]),Be;}}},Te=function(a,b){return{type:b,target:a,stopPropagation:function(){throw"aborted";}}};var Rc=new RegExp(/(^|\.)doubleclick\.net$/i),Sc=function(a,b){return Rc[ia](J[z].hostname)?!0:"/"!==b?!1:0!=a[q]("www.google.")&&0!=a[q](".google.")&&0!=a[q]("google.")||-1<a[q]("google.org")?!1:!0},Tc=function(a){var b=a.get(bb),c=a.c(P,"/");Sc(b,c)&&a[ta]()};var Zc=function(){var a={},b={},c=new Uc;this.g=function(a,b){c.add(a,b)};var d=new Uc;this.e=function(a,b){d.add(a,b)};var e=!1,f=!1,Be=!0;this.T=function(){e=!0};this.j=function(a){this[ka]();this.set(sc,a,!0);a=new Vc(this);e=!1;d.cb(this);e=!0;b={};this.n();a.Ja()};this.load=function(){e&&(e=!1,this.Ka(),Wc(this),f||(f=!0,c.cb(this),Xc(this),Wc(this)),e=!0)};this.n=function(){if(e)if(f)e=!1,Xc(this),e=!0;else this[ka]()};this.get=function(c){Ua[c]&&this[ka]();return void 0!==b[c]?b[c]:a[c]};this.set=
|
|
||||||
function(c,d,e){Ua[c]&&this[ka]();e?b[c]=d:a[c]=d;Ua[c]&&this.n()};this.Za=function(b){a[b]=this.b(b,0)+1};this.b=function(a,b){var c=this.get(a);return void 0==c||""===c?b:1*c};this.c=function(a,b){var c=this.get(a);return void 0==c?b:c+""};this.Ka=function(){if(Be){var b=this.c(bb,""),c=this.c(P,"/");Sc(b,c)||(a[O]=a[hb]&&""!=b?Yc(b):1,Be=!1)}}};Zc[x].stopPropagation=function(){throw"aborted";};
|
|
||||||
var Vc=function(a){var b=this;this.q=0;var c=a.get(tc);this.Ua=function(){0<b.q&&c&&(b.q--,b.q||c())};this.Ja=function(){!b.q&&c&&ca(c,10)};a.set(uc,b,!0)};function $c(a,b){b=b||[];for(var c=0;c<b[w];c++){var d=b[c];if(""+a==d||0==d[q](a+"."))return d}return"-"}
|
|
||||||
var bd=function(a,b,c){c=c?"":a.c(O,"1");b=b[y](".");if(6!==b[w]||ad(b[0],c))return!1;c=1*b[1];var d=1*b[2],e=1*b[3],f=1*b[4];b=1*b[5];if(!(0<=c&&0<d&&0<e&&0<f&&0<=b))return!1;a.set(Q,c);a.set(Vb,d);a.set(Wb,e);a.set(Zb,f);a.set($b,b);return!0},cd=function(a){var b=a.get(Q),c=a.get(Vb),d=a.get(Wb),e=a.get(Zb),f=a.b($b,1);return[a.b(O,1),void 0!=b?b:"-",c||"-",d||"-",e||"-",f][C](".")},dd=function(a){return[a.b(O,1),a.b(cc,0),a.b(R,1),a.b(dc,0)][C](".")},ed=function(a,b,c){c=c?"":a.c(O,"1");var d=
|
|
||||||
b[y](".");if(4!==d[w]||ad(d[0],c))d=null;a.set(cc,d?1*d[1]:0);a.set(R,d?1*d[2]:10);a.set(dc,d?1*d[3]:a.get(ab));return null!=d||!ad(b,c)},fd=function(a,b){var c=G(a.c(Tb,"")),d=[],e=a.get(Fb);if(!b&&e){for(var f=0;f<e[w];f++){var Be=e[f];Be&&1==Be[ua]&&d[n](f+"="+G(Be[r])+"="+G(Be[na])+"=1")}0<d[w]&&(c+="|"+d[C]("^"))}return c?a.b(O,1)+"."+c:null},gd=function(a,b,c){c=c?"":a.c(O,"1");b=b[y](".");if(2>b[w]||ad(b[0],c))return!1;b=b[ja](1)[C](".")[y]("|");0<b[w]&&a.set(Tb,I(b[0]));if(1>=b[w])return!0;
|
|
||||||
b=b[1][y](-1==b[1][q](",")?"^":",");for(c=0;c<b[w];c++){var d=b[c][y]("=");if(4==d[w]){var e={};ha(e,I(d[1]));e.value=I(d[2]);e.scope=1;a.get(Fb)[d[0]]=e}}return!0},hd=function(a,b){var c=Ue(a,b);return c?[a.b(O,1),a.b(ec,0),a.b(fc,1),a.b(gc,1),c][C]("."):""},Ue=function(a){function b(b,e){if(!F(a.get(b))){var f=a.c(b,""),f=f[y](" ")[C]("%20"),f=f[y]("+")[C]("%20");c[n](e+"="+f)}}var c=[];b(ic,"utmcid");b(nc,"utmcsr");b(S,"utmgclid");b(kc,"utmgclsrc");b(lc,"utmdclid");b(mc,"utmdsid");b(jc,"utmccn");
|
|
||||||
b(oc,"utmcmd");b(pc,"utmctr");b(qc,"utmcct");return c[C]("|")},id=function(a,b,c){c=c?"":a.c(O,"1");b=b[y](".");if(5>b[w]||ad(b[0],c))return a.set(ec,void 0),a.set(fc,void 0),a.set(gc,void 0),a.set(ic,void 0),a.set(jc,void 0),a.set(nc,void 0),a.set(oc,void 0),a.set(pc,void 0),a.set(qc,void 0),a.set(S,void 0),a.set(kc,void 0),a.set(lc,void 0),a.set(mc,void 0),!1;a.set(ec,1*b[1]);a.set(fc,1*b[2]);a.set(gc,1*b[3]);Ve(a,b[ja](4)[C]("."));return!0},Ve=function(a,b){function c(a){return(a=b[oa](a+"=(.*?)(?:\\|utm|$)"))&&
|
|
||||||
2==a[w]?a[1]:void 0}function d(b,c){c?(c=e?I(c):c[y]("%20")[C](" "),a.set(b,c)):a.set(b,void 0)}-1==b[q]("=")&&(b=I(b));var e="2"==c("utmcvr");d(ic,c("utmcid"));d(jc,c("utmccn"));d(nc,c("utmcsr"));d(oc,c("utmcmd"));d(pc,c("utmctr"));d(qc,c("utmcct"));d(S,c("utmgclid"));d(kc,c("utmgclsrc"));d(lc,c("utmdclid"));d(mc,c("utmdsid"))},ad=function(a,b){return b?a!=b:!/^\d+$/[ia](a)};var Uc=function(){this.filters=[]};Uc[x].add=function(a,b){this.filters[n]({name:a,s:b})};Uc[x].cb=function(a){try{for(var b=0;b<this.filters[w];b++)this.filters[b].s.call(W,a)}catch(c){}};function jd(a){100!=a.get(vb)&&a.get(Q)%1E4>=100*a.get(vb)&&a[ta]()}function kd(a){ld(a.get(Wa))&&a[ta]()}function md(a){"file:"==J[z][A]&&a[ta]()}function Ge(a){He()&&a[ta]()}function nd(a){a.get(Ib)||a.set(Ib,J.title,!0);a.get(Hb)||a.set(Hb,J[z].pathname+J[z][va],!0)}
|
|
||||||
function lf(a){a.get(Wa)&&"UA-XXXXX-X"!=a.get(Wa)||a[ta]()};var od=new function(){var a=[];this.set=function(b){a[b]=!0};this.encode=function(){for(var b=[],c=0;c<a[w];c++)a[c]&&(b[m[la](c/6)]=b[m[la](c/6)]^1<<c%6);for(c=0;c<b[w];c++)b[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"[ma](b[c]||0);return b[C]("")+"~"}};function H(a){od.set(a)};var W=window,J=document,ld=function(a){var b=W._gaUserPrefs;if(b&&b.ioo&&b.ioo()||a&&!0===W["ga-disable-"+a])return!0;try{var c=W.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(d){}return!1},He=function(){return W[za]&&"preview"==W[za].loadPurpose},We=function(a,b){ca(a,b)},pd=function(a){var b=[],c=J.cookie[y](";");a=new RegExp("^\\s*"+a+"=\\s*(.*?)\\s*$");for(var d=0;d<c[w];d++){var e=c[d][oa](a);e&&b[n](e[1])}return b},X=function(a,b,c,d,e,f){e=ld(e)?!1:Sc(d,c)?!1:He()?!1:!0;
|
|
||||||
e&&((b=mf(b))&&2E3<b[w]&&(b=b[B](0,2E3),H(69)),a=a+"="+b+"; path="+c+"; ",f&&(a+="expires="+(new Date((new Date)[g]()+f)).toGMTString()+"; "),d&&(a+="domain="+d+";"),J.cookie=a)},mf=function(a){if(!a)return a;var b=a[q](";");-1!=b&&(a=a[B](0,b),H(141));if(!(0<=W[za].userAgent[q]("Firefox")))return a;a=a[p](/\n|\r/g," ");for(var b=0,c=a[w];b<c;++b){var d=a.charCodeAt(b)&255;if(10==d||13==d)a=a[B](0,b)+"?"+a[B](b+1)}return a};var qd,rd,sd=function(){if(!qd){var a={},b=W[za],c=W.screen;a.Q=c?c.width+"x"+c.height:"-";a.P=c?c.colorDepth+"-bit":"-";a.language=(b&&(b.language||b.browserLanguage)||"-")[D]();a.javaEnabled=b&&b.javaEnabled()?1:0;a.characterSet=J.characterSet||J.charset||"-";try{var d;var e=J.documentElement,f=J.body,Be=f&&f[sa]&&f[wa],b=[];e&&e[sa]&&e[wa]&&("CSS1Compat"===J.compatMode||!Be)?b=[e[sa],e[wa]]:Be&&(b=[f[sa],f[wa]]);d=0>=b[0]||0>=b[1]?"":b[C]("x");a.Wa=d}catch(k){H(135)}qd=a}},td=function(){sd();for(var a=
|
|
||||||
qd,b=W[za],a=b.appName+b.version+a.language+b.platform+b.userAgent+a.javaEnabled+a.Q+a.P+(J.cookie?J.cookie:"")+(J.referrer?J.referrer:""),b=a[w],c=W.history[w];0<c;)a+=c--^b++;return Yc(a)},ud=function(a){sd();var b=qd;a.set(Lb,b.Q);a.set(Mb,b.P);a.set(Pb,b.language);a.set(Qb,b.characterSet);a.set(Nb,b.javaEnabled);a.set(Rb,b.Wa);if(a.get(ib)&&a.get(jb)){if(!(b=rd)){var c,d,e;d="ShockwaveFlash";if((b=(b=W[za])?b.plugins:void 0)&&0<b[w])for(c=0;c<b[w]&&!e;c++)d=b[c],-1<d[r][q]("Shockwave Flash")&&
|
|
||||||
(e=d.description[y]("Shockwave Flash ")[1]);else{d=d+"."+d;try{c=new ActiveXObject(d+".7"),e=c.GetVariable("$version")}catch(f){}if(!e)try{c=new ActiveXObject(d+".6"),e="WIN 6,0,21,0",c.AllowScriptAccess="always",e=c.GetVariable("$version")}catch(Be){}if(!e)try{c=new ActiveXObject(d),e=c.GetVariable("$version")}catch(k){}e&&(e=e[y](" ")[1][y](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}rd=b;a.set(Ob,rd)}else a.set(Ob,"-")};var vd=function(a){if(Ba(a))this.s=a;else{var b=a[0],c=b.lastIndexOf(":"),d=b.lastIndexOf(".");this.h=this.i=this.l="";-1==c&&-1==d?this.h=b:-1==c&&-1!=d?(this.i=b[B](0,d),this.h=b[B](d+1)):-1!=c&&-1==d?(this.l=b[B](0,c),this.h=b[B](c+1)):c>d?(this.i=b[B](0,d),this.l=b[B](d+1,c),this.h=b[B](c+1)):(this.i=b[B](0,d),this.h=b[B](d+1));this.k=a[ja](1);this.Ma=!this.l&&"_require"==this.h;this.J=!this.i&&!this.l&&"_provide"==this.h}},Y=function(){T(Y[x],"push",Y[x][n],5);T(Y[x],"_getPlugin",Pc,121);T(Y[x],
|
|
||||||
"_createAsyncTracker",Y[x].Sa,33);T(Y[x],"_getAsyncTracker",Y[x].Ta,34);this.I=new nf;this.p=[]};E=Y[x];E.Na=function(a,b,c){var d=this.I.get(a);if(!Ba(d))return!1;b.plugins_=b.plugins_||new nf;b.plugins_.set(a,new d(b,c||{}));return!0};E.push=function(a){var b=Z.Va[ya](this,arguments),b=Z.p.concat(b);for(Z.p=[];0<b[w]&&!Z.O(b[0])&&!(b.shift(),0<Z.p[w]););Z.p=Z.p.concat(b);return 0};E.Va=function(a){for(var b=[],c=0;c<arguments[w];c++)try{var d=new vd(arguments[c]);d.J?this.O(d):b[n](d)}catch(e){}return b};
|
|
||||||
E.O=function(a){try{if(a.s)a.s[ya](W);else if(a.J)this.I.set(a.k[0],a.k[1]);else{var b="_gat"==a.i?M:"_gaq"==a.i?Z:M.u(a.i);if(a.Ma){if(!this.Na(a.k[0],b,a.k[2])){if(!a.Pa){var c=Oa(""+a.k[1]);var d=c[A],e=J[z][A];var f;if(f="https:"==d||d==e?!0:"http:"!=d?!1:"http:"==e)a:{var Be=Oa(J[z][xa]);if(!(c.Oa||0<=c.url[q]("?")||0<=c[ra][q]("://")||c[u]==Be[u]&&c[pa]==Be[pa]))for(var k="http:"==c[A]?80:443,Ja=M.S,b=0;b<Ja[w];b++)if(c[u]==Ja[b][0]&&(c[pa]||k)==(Ja[b][1]||k)&&0==c[ra][q](Ja[b][2])){f=!0;break a}f=
|
|
||||||
!1}f&&!ld()&&(a.Pa=Ia(c.url))}return!0}}else a.l&&(b=b.plugins_.get(a.l)),b[a.h][ya](b,a.k)}}catch(t){}};E.Sa=function(a,b){return M.r(a,b||"")};E.Ta=function(a){return M.u(a)};var yd=function(){function a(a,b,c,d){void 0==f[a]&&(f[a]={});void 0==f[a][b]&&(f[a][b]=[]);f[a][b][c]=d}function b(a,b,c){if(void 0!=f[a]&&void 0!=f[a][b])return f[a][b][c]}function c(a,b){if(void 0!=f[a]&&void 0!=f[a][b]){f[a][b]=void 0;var c=!0,d;for(d=0;d<Be[w];d++)if(void 0!=f[a][Be[d]]){c=!1;break}c&&(f[a]=void 0)}}function d(a){var b="",c=!1,d,e;for(d=0;d<Be[w];d++)if(e=a[Be[d]],void 0!=e){c&&(b+=Be[d]);for(var c=[],f=void 0,Bd=void 0,Bd=0;Bd<e[w];Bd++)if(void 0!=e[Bd]){f="";1!=Bd&&void 0==
|
|
||||||
e[Bd-1]&&(f+=Bd[v]()+"!");for(var fa=e[Bd],Ke="",Le=void 0,Me=void 0,ga=void 0,Le=0;Le<fa[w];Le++)Me=fa[ma](Le),ga=k[Me],Ke+=void 0!=ga?ga:Me;f+=Ke;c[n](f)}b+="("+c[C]("*")+")";c=!1}else c=!0;return b}var e=this,f=[],Be=["k","v"],k={"'":"'0",")":"'1","*":"'2","!":"'3"};e.Ra=function(a){return void 0!=f[a]};e.A=function(){for(var a="",b=0;b<f[w];b++)void 0!=f[b]&&(a+=b[v]()+d(f[b]));return a};e.Qa=function(a){if(void 0==a)return e.A();for(var b=a.A(),c=0;c<f[w];c++)void 0==f[c]||a.Ra(c)||(b+=c[v]()+
|
|
||||||
d(f[c]));return b};e.f=function(b,c,d){if(!wd(d))return!1;a(b,"k",c,d);return!0};e.o=function(b,c,d){if(!xd(d))return!1;a(b,"v",c,d[v]());return!0};e.getKey=function(a,c){return b(a,"k",c)};e.N=function(a,c){return b(a,"v",c)};e.L=function(a){c(a,"k")};e.M=function(a){c(a,"v")};T(e,"_setKey",e.f,89);T(e,"_setValue",e.o,90);T(e,"_getKey",e.getKey,87);T(e,"_getValue",e.N,88);T(e,"_clearKey",e.L,85);T(e,"_clearValue",e.M,86)};function wd(a){return"string"==typeof a}
|
|
||||||
function xd(a){return!("number"==typeof a||void 0!=Number&&a instanceof Number)||m.round(a)!=a||da(a)||a==ba?!1:!0};var zd=function(a){var b=W.gaGlobal;a&&!b&&(W.gaGlobal=b={});return b},Ad=function(){var a=zd(!0).hid;null==a&&(a=Ea(),zd(!0).hid=a);return a},Dd=function(a){a.set(Kb,Ad());var b=zd();if(b&&b.dh==a.get(O)){var c=b.sid;c&&(a.get(ac)?H(112):H(132),a.set(Zb,c),a.get(Sb)&&a.set(Wb,c));b=b.vid;a.get(Sb)&&b&&(b=b[y]("."),a.set(Q,1*b[0]),a.set(Vb,1*b[1]))}};var Ed,Fd=function(a,b,c,d){var e=a.c(bb,""),f=a.c(P,"/");d=void 0!=d?d:a.b(cb,0);a=a.c(Wa,"");X(b,c,f,e,a,d)},Xc=function(a){var b=a.c(bb,"");a.b(O,1);var c=a.c(P,"/"),d=a.c(Wa,"");X("__utma",cd(a),c,b,d,a.get(cb));X("__utmb",dd(a),c,b,d,a.get(db));X("__utmc",""+a.b(O,1),c,b,d);var e=hd(a,!0);e?X("__utmz",e,c,b,d,a.get(eb)):X("__utmz","",c,b,"",-1);(e=fd(a,!1))?X("__utmv",e,c,b,d,a.get(cb)):X("__utmv","",c,b,"",-1)},Wc=function(a){var b=a.b(O,1);if(!bd(a,$c(b,pd("__utma"))))return a.set(Ub,!0),!1;
|
|
||||||
var c=!ed(a,$c(b,pd("__utmb")));a.set(bc,c);id(a,$c(b,pd("__utmz")));gd(a,$c(b,pd("__utmv")));Ed=!c;return!0},Gd=function(a){Ed||0<pd("__utmb")[w]||(X("__utmd","1",a.c(P,"/"),a.c(bb,""),a.c(Wa,""),1E4),0==pd("__utmd")[w]&&a[ta]())};var h=0,Jd=function(a){void 0==a.get(Q)?Hd(a):a.get(Ub)&&!a.get(Mc)?Hd(a):a.get(bc)&&Id(a)},Kd=function(a){a.get(hc)&&!a.get(ac)&&(Id(a),a.set(fc,a.get($b)))},Hd=function(a){h++;1<h&&H(137);var b=a.get(ab);a.set(Sb,!0);a.set(Q,Ea()^td(a)&2147483647);a.set(Tb,"");a.set(Vb,b);a.set(Wb,b);a.set(Zb,b);a.set($b,1);a.set(ac,!0);a.set(cc,0);a.set(R,10);a.set(dc,b);a.set(Fb,[]);a.set(Ub,!1);a.set(bc,!1)},Id=function(a){h++;1<h&&H(137);a.set(Wb,a.get(Zb));a.set(Zb,a.get(ab));a.Za($b);a.set(ac,!0);a.set(cc,
|
|
||||||
0);a.set(R,10);a.set(dc,a.get(ab));a.set(bc,!1)};var Ld="daum:q eniro:search_word naver:query pchome:q images.google:q google:q yahoo:p yahoo:q msn:q bing:q aol:query aol:q lycos:q lycos:query ask:q cnn:query virgilio:qs baidu:wd baidu:word alice:qs yandex:text najdi:q seznam:q rakuten:qt biglobe:q goo.ne:MT search.smt.docomo:MT onet:qt onet:q kvasir:q terra:query rambler:query conduit:q babylon:q search-results:q avg:q comcast:q incredimail:q startsiden:q go.mail.ru:q centrum.cz:q 360.cn:q sogou:query tut.by:query globo:q ukr:q so.com:q haosou.com:q auone:q".split(" "),
|
|
||||||
Sd=function(a){if(a.get(kb)&&!a.get(Mc)){var b;b=!F(a.get(ic))||!F(a.get(nc))||!F(a.get(S))||!F(a.get(lc));for(var c={},d=0;d<Md[w];d++){var e=Md[d];c[e]=a.get(e)}(d=a.get(rc))?(H(149),e=new nf,Na(e,d),d=e):d=La(J[z][xa],a.get(gb)).d;if("1"!=L(d.get(a.get(ub)))||!b)if(d=Xe(a,d)||Qd(a),d||b||!a.get(ac)||(Pd(a,void 0,"(direct)",void 0,void 0,void 0,"(direct)","(none)",void 0,void 0),d=!0),d&&(a.set(hc,Rd(a,c)),b="(direct)"==a.get(nc)&&"(direct)"==a.get(jc)&&"(none)"==a.get(oc),a.get(hc)||a.get(ac)&&
|
|
||||||
!b))a.set(ec,a.get(ab)),a.set(fc,a.get($b)),a.Za(gc)}},Xe=function(a,b){function c(c,d){d=d||"-";var e=L(b.get(a.get(c)));return e&&"-"!=e?I(e):d}var d=L(b.get(a.get(nb)))||"-",e=L(b.get(a.get(qb)))||"-",f=L(b.get(a.get(pb)))||"-",Be=L(b.get("gclsrc"))||"-",k=L(b.get("dclid"))||"-",Ja=c(ob,"(not set)"),t=c(rb,"(not set)"),Za=c(sb),Ma=c(tb);if(F(d)&&F(f)&&F(k)&&F(e))return!1;var mb=!F(f)&&!F(Be),mb=F(e)&&(!F(k)||mb),Xb=F(Za);if(mb||Xb){var Bd=Nd(a),Bd=La(Bd,!0);(Bd=Od(a,Bd))&&!F(Bd[1]&&!Bd[2])&&(mb&&
|
|
||||||
(e=Bd[0]),Xb&&(Za=Bd[1]))}Pd(a,d,e,f,Be,k,Ja,t,Za,Ma);return!0},Qd=function(a){var b=Nd(a),c=La(b,!0);(b=!(void 0!=b&&null!=b&&""!=b&&"0"!=b&&"-"!=b&&0<=b[q]("://")))||(b=c&&-1<c[u][q]("google")&&c.d.contains("q")&&"cse"==c[ra]);if(b)return!1;if((b=Od(a,c))&&!b[2])return Pd(a,void 0,b[0],void 0,void 0,void 0,"(organic)","organic",b[1],void 0),!0;if(b||!a.get(ac))return!1;a:{for(var b=a.get(Bb),d=Ka(c[u]),e=0;e<b[w];++e)if(-1<d[q](b[e])){a=!1;break a}Pd(a,void 0,d,void 0,void 0,void 0,"(referral)",
|
|
||||||
"referral",void 0,"/"+c[ra]);a=!0}return a},Od=function(a,b){for(var c=a.get(zb),d=0;d<c[w];++d){var e=c[d][y](":");if(-1<b[u][q](e[0][D]())){var f=b.d.get(e[1]);if(f&&(f=K(f),!f&&-1<b[u][q]("google.")&&(f="(not provided)"),!e[3]||-1<b.url[q](e[3]))){f||H(151);a:{for(var c=f,d=a.get(Ab),c=I(c)[D](),Be=0;Be<d[w];++Be)if(c==d[Be]){c=!0;break a}c=!1}return[e[2]||e[0],f,c]}}}return null},Pd=function(a,b,c,d,e,f,Be,k,Ja,t){a.set(ic,b);a.set(nc,c);a.set(S,d);a.set(kc,e);a.set(lc,f);a.set(jc,Be);a.set(oc,
|
|
||||||
k);a.set(pc,Ja);a.set(qc,t)},Md=[jc,ic,S,lc,nc,oc,pc,qc],Rd=function(a,b){function c(a){a=(""+a)[y]("+")[C]("%20");return a=a[y](" ")[C]("%20")}function d(c){var d=""+(a.get(c)||"");c=""+(b[c]||"");return 0<d[w]&&d==c}if(d(S)||d(lc))return H(131),!1;for(var e=0;e<Md[w];e++){var f=Md[e],Be=b[f]||"-",f=a.get(f)||"-";if(c(Be)!=c(f))return!0}return!1},Td=new RegExp(/^https?:\/\/(www\.)?google(\.com?)?(\.[a-z]{2}t?)?\/?$/i),jf=/^https?:\/\/r\.search\.yahoo\.com\/[^?]*$/i,Nd=function(a){a=Pa(a.get(Jb),
|
|
||||||
a.get(P));try{if(Td[ia](a))return H(136),a+"?q=";if(jf[ia](a))return H(150),a+"?p=(not provided)"}catch(b){H(145)}return a};var Ud,Vd,Wd=function(a){Ud=a.c(S,"");Vd=a.c(kc,"")},Xd=function(a){var b=a.c(S,""),c=a.c(kc,"");b!=Ud&&(-1<c[q]("ds")?a.set(mc,void 0):!F(Ud)&&-1<Vd[q]("ds")&&a.set(mc,Ud))};var Zd=function(a){Yd(a,J[z][xa])?(a.set(Mc,!0),H(12)):a.set(Mc,!1)},Yd=function(a,b){if(!a.get(fb))return!1;var c=La(b,a.get(gb)),d=K(c.d.get("__utma")),e=K(c.d.get("__utmb")),f=K(c.d.get("__utmc")),Be=K(c.d.get("__utmx")),k=K(c.d.get("__utmz")),Ja=K(c.d.get("__utmv")),c=K(c.d.get("__utmk"));if(Yc(""+d+e+f+Be+k+Ja)!=c){d=I(d);e=I(e);f=I(f);Be=I(Be);f=$d(d+e+f+Be,k,Ja,c);if(!f)return!1;k=f[0];Ja=f[1]}if(!bd(a,d,!0))return!1;ed(a,e,!0);id(a,k,!0);gd(a,Ja,!0);ae(a,Be,!0);return!0},ce=function(a,b,c){var d;
|
|
||||||
d=cd(a)||"-";var e=dd(a)||"-",f=""+a.b(O,1)||"-",Be=be(a)||"-",k=hd(a,!1)||"-";a=fd(a,!1)||"-";var Ja=Yc(""+d+e+f+Be+k+a),t=[];t[n]("__utma="+d);t[n]("__utmb="+e);t[n]("__utmc="+f);t[n]("__utmx="+Be);t[n]("__utmz="+k);t[n]("__utmv="+a);t[n]("__utmk="+Ja);d=t[C]("&");if(!d)return b;e=b[q]("#");if(c)return 0>e?b+"#"+d:b+"&"+d;c="";f=b[q]("?");0<e&&(c=b[B](e),b=b[B](0,e));return 0>f?b+"?"+d+c:b+"&"+d+c},$d=function(a,b,c,d){for(var e=0;3>e;e++){for(var f=0;3>f;f++){if(d==Yc(a+b+c))return H(127),[b,c];
|
|
||||||
var Be=b[p](/ /g,"%20"),k=c[p](/ /g,"%20");if(d==Yc(a+Be+k))return H(128),[Be,k];Be=Be[p](/\+/g,"%20");k=k[p](/\+/g,"%20");if(d==Yc(a+Be+k))return H(129),[Be,k];try{var Ja=b[oa]("utmctr=(.*?)(?:\\|utm|$)");if(Ja&&2==Ja[w]&&(Be=b[p](Ja[1],G(I(Ja[1]))),d==Yc(a+Be+c)))return H(139),[Be,c]}catch(t){}b=I(b)}c=I(c)}};var de="|",fe=function(a,b,c,d,e,f,Be,k,Ja){var t=ee(a,b);t||(t={},a.get(Cb)[n](t));t.id_=b;t.affiliation_=c;t.total_=d;t.tax_=e;t.shipping_=f;t.city_=Be;t.state_=k;t.country_=Ja;t.items_=t.items_||[];return t},ge=function(a,b,c,d,e,f,Be){a=ee(a,b)||fe(a,b,"",0,0,0,"","","");var k;a:{if(a&&a.items_){k=a.items_;for(var Ja=0;Ja<k[w];Ja++)if(k[Ja].sku_==c){k=k[Ja];break a}}k=null}Ja=k||{};Ja.transId_=b;Ja.sku_=c;Ja.name_=d;Ja.category_=e;Ja.price_=f;Ja.quantity_=Be;k||a.items_[n](Ja);return Ja},ee=function(a,
|
|
||||||
b){for(var c=a.get(Cb),d=0;d<c[w];d++)if(c[d].id_==b)return c[d];return null};var he,ie=function(a){if(!he){var b;b=J[z].hash;var c=W[r],d=/^#?gaso=([^&]*)/;if(c=(b=(b=b&&b[oa](d)||c&&c[oa](d))?b[1]:K(pd("GASO")))&&b[oa](/^(?:!([-0-9a-z.]{1,40})!)?([-.\w]{10,1200})$/i))Fd(a,"GASO",""+b,0),M._gasoDomain=a.get(bb),M._gasoCPath=a.get(P),a=c[1],Ia("https://www.google.com/analytics/web/inpage/pub/inpage.js?"+(a?"prefix="+a+"&":"")+Ea(),"_gasojs");he=!0}};var ae=function(a,b,c){c&&(b=I(b));c=a.b(O,1);b=b[y](".");2>b[w]||!/^\d+$/[ia](b[0])||(b[0]=""+c,Fd(a,"__utmx",b[C]("."),void 0))},be=function(a,b){var c=$c(a.get(O),pd("__utmx"));"-"==c&&(c="");return b?G(c):c},Ye=function(a){try{var b=La(J[z][xa],!1),c=ea(L(b.d.get("utm_referrer")))||"";c&&a.set(Jb,c);var d=ea(K(b.d.get("utm_expid")))||"";d&&(d=d[y](".")[0],a.set(Oc,""+d))}catch(e){H(146)}},l=function(a){var b=W.gaData&&W.gaData.expId;b&&a.set(Oc,""+b)};var ke=function(a,b){var c=m.min(a.b(Dc,0),100);if(a.b(Q,0)%100>=c)return!1;c=Ze()||$e();if(void 0==c)return!1;var d=c[0];if(void 0==d||d==ba||da(d))return!1;0<d?af(c)?b(je(c)):b(je(c[ja](0,1))):Ga(W,"load",function(){ke(a,b)},!1);return!0},me=function(a,b,c,d){var e=new yd;e.f(14,90,b[B](0,500));e.f(14,91,a[B](0,150));e.f(14,92,""+le(c));void 0!=d&&e.f(14,93,d[B](0,500));e.o(14,90,c);return e},af=function(a){for(var b=1;b<a[w];b++)if(da(a[b])||a[b]==ba||0>a[b])return!1;return!0},le=function(a){return da(a)||
|
|
||||||
0>a?0:5E3>a?10*m[la](a/10):5E4>a?100*m[la](a/100):41E5>a?1E3*m[la](a/1E3):41E5},je=function(a){for(var b=new yd,c=0;c<a[w];c++)b.f(14,c+1,""+le(a[c])),b.o(14,c+1,a[c]);return b},Ze=function(){var a=W.performance||W.webkitPerformance;if(a=a&&a.timing){var b=a.navigationStart;if(0==b)H(133);else return[a.loadEventStart-b,a.domainLookupEnd-a.domainLookupStart,a.connectEnd-a.connectStart,a.responseStart-a.requestStart,a.responseEnd-a.responseStart,a.fetchStart-b,a.domInteractive-b,a.domContentLoadedEventStart-
|
|
||||||
b]}},$e=function(){if(W.top==W){var a=W.external,b=a&&a.onloadT;a&&!a.isValidLoadTime&&(b=void 0);2147483648<b&&(b=void 0);0<b&&a.setPageReadyTime();return void 0==b?void 0:[b]}};var cf=function(a){if(a.get(Sb))try{var b;a:{var c=pd(a.get(Oe)||"_ga");if(c&&!(1>c[w])){for(var d=[],e=0;e<c[w];e++){var f;var Be=c[e][y]("."),k=Be.shift();if(("GA1"==k||"1"==k)&&1<Be[w]){var Ja=Be.shift()[y]("-");1==Ja[w]&&(Ja[1]="1");Ja[0]*=1;Ja[1]*=1;f={Ya:Ja,$a:Be[C](".")}}else f=void 0;f&&d[n](f)}if(1==d[w]){b=d[0].$a;break a}if(0!=d[w]){var t=a.get(Pe)||a.get(bb),d=bf(d,(0==t[q](".")?t.substr(1):t)[y](".")[w],0);if(1==d[w]){b=d[0].$a;break a}var Za=a.get(Qe)||a.get(P);(c=Za)?(1<c[w]&&"/"==
|
|
||||||
c[ma](c[w]-1)&&(c=c.substr(0,c[w]-1)),0!=c[q]("/")&&(c="/"+c),Za=c):Za="/";d=bf(d,"/"==Za?1:Za[y]("/")[w],1);b=d[0].$a;break a}}b=void 0}if(b){var Ma=(""+b)[y](".");2==Ma[w]&&/[0-9.]/[ia](Ma)&&(H(114),a.set(Q,Ma[0]),a.set(Vb,Ma[1]),a.set(Sb,!1))}}catch(mb){H(115)}},bf=function(a,b,c){for(var d=[],e=[],f=128,Be=0;Be<a[w];Be++){var k=a[Be];if(k.Ya[c]==b)d[n](k);else if(k.Ya[c]==f)e[n](k);else k.Ya[c]<f&&(e=[k],f=k.Ya[c])}return 0<d[w]?d:e};var kf=/^gtm\d+$/,hf=function(a){var b;b=!!a.b(Cd,1);b&&(H(140),"page"!=a.get(sc)?a.set(Kc,"",!0):(b=a.c(Lc,""),b||(b=(b=a.c($a,""))&&"~0"!=b?kf[ia](b)?"__utmt_"+G(a.c(Wa,"")):"__utmt_"+G(b):"__utmt"),0<pd(b)[w]?a.set(Kc,"",!0):(X(b,"1",a.c(P,"/"),a.c(bb,""),a.c(Wa,""),6E5),0<pd(b)[w]&&(a.set(Kc,Ea(),!0),a.set(Yb,1,!0),a.set(Jc,Ne()+"/r/__utm.gif?",!0)))))};var U=function(a,b,c){function d(a){return function(b){if((b=b.get(Nc)[a])&&b[w])for(var c=Te(e,a),d=0;d<b[w];d++)b[d].call(e,c)}}var e=this;this.a=new Zc;this.get=function(a){return this.a.get(a)};this.set=function(a,b,c){this.a.set(a,b,c)};this.set(Wa,b||"UA-XXXXX-X");this.set($a,a||"");this.set(Ya,c||"");this.set(ab,m.round((new Date)[g]()/1E3));this.set(P,"/");this.set(cb,63072E6);this.set(eb,15768E6);this.set(db,18E5);this.set(fb,!1);this.set(yb,50);this.set(gb,!1);this.set(hb,!0);this.set(ib,
|
|
||||||
!0);this.set(jb,!0);this.set(kb,!0);this.set(lb,!0);this.set(ob,"utm_campaign");this.set(nb,"utm_id");this.set(pb,"gclid");this.set(qb,"utm_source");this.set(rb,"utm_medium");this.set(sb,"utm_term");this.set(tb,"utm_content");this.set(ub,"utm_nooverride");this.set(vb,100);this.set(Dc,1);this.set(Ec,!1);this.set(wb,"/__utm.gif");this.set(xb,1);this.set(Cb,[]);this.set(Fb,[]);this.set(zb,Ld[ja](0));this.set(Ab,[]);this.set(Bb,[]);this.B("auto");this.set(Jb,J.referrer);Ye(this.a);this.set(Nc,{hit:[],
|
|
||||||
load:[]});this.a.g("0",Zd);this.a.g("1",Wd);this.a.g("2",Jd);this.a.g("3",cf);this.a.g("4",Sd);this.a.g("5",Xd);this.a.g("6",Kd);this.a.g("7",d("load"));this.a.g("8",ie);this.a.e("A",kd);this.a.e("B",md);this.a.e("C",Ge);this.a.e("D",Jd);this.a.e("E",jd);this.a.e("F",Tc);this.a.e("G",ne);this.a.e("H",lf);this.a.e("I",Gd);this.a.e("J",nd);this.a.e("K",ud);this.a.e("L",Dd);this.a.e("M",l);this.a.e("N",hf);this.a.e("O",d("hit"));this.a.e("P",oe);this.a.e("Q",pe);0===this.get(ab)&&H(111);this.a.T();this.H=
|
|
||||||
void 0};E=U[x];E.m=function(){var a=this.get(Db);a||(a=new yd,this.set(Db,a));return a};E.La=function(a){for(var b in a){var c=a[b];a.hasOwnProperty(b)&&this.set(b,c,!0)}};E.K=function(a){if(this.get(Ec))return!1;var b=this,c=ke(this.a,function(c){b.set(Hb,a,!0);b.t(c)});this.set(Ec,c);return c};E.Fa=function(a){a&&Ca(a)?(H(13),this.set(Hb,a,!0)):"object"===typeof a&&null!==a&&this.La(a);this.H=a=this.get(Hb);this.a.j("page");this.K(a)};
|
|
||||||
E.F=function(a,b,c,d,e){if(""==a||!wd(a)||""==b||!wd(b)||void 0!=c&&!wd(c)||void 0!=d&&!xd(d))return!1;this.set(wc,a,!0);this.set(xc,b,!0);this.set(yc,c,!0);this.set(zc,d,!0);this.set(vc,!!e,!0);this.a.j("event");return!0};E.Ha=function(a,b,c,d,e){var f=this.a.b(Dc,0);1*e===e&&(f=e);if(this.a.b(Q,0)%100>=f)return!1;c=1*(""+c);if(""==a||!wd(a)||""==b||!wd(b)||!xd(c)||da(c)||0>c||0>f||100<f||void 0!=d&&(""==d||!wd(d)))return!1;this.t(me(a,b,c,d));return!0};
|
|
||||||
E.Ga=function(a,b,c,d){if(!a||!b)return!1;this.set(Ac,a,!0);this.set(Bc,b,!0);this.set(Cc,c||J[z][xa],!0);d&&this.set(Hb,d,!0);this.a.j("social");return!0};E.Ea=function(){this.set(Dc,10);this.K(this.H)};E.Ia=function(){this.a.j("trans")};E.t=function(a){this.set(Eb,a,!0);this.a.j("event")};E.ia=function(a){this.v();var b=this;return{_trackEvent:function(c,d,e){H(91);b.F(a,c,d,e)}}};E.ma=function(a){return this.get(a)};
|
|
||||||
E.xa=function(a,b){if(a)if(Ca(a))this.set(a,b);else if("object"==typeof a)for(var c in a)a.hasOwnProperty(c)&&this.set(c,a[c])};E.addEventListener=function(a,b){var c=this.get(Nc)[a];c&&c[n](b)};E.removeEventListener=function(a,b){for(var c=this.get(Nc)[a],d=0;c&&d<c[w];d++)if(c[d]==b){c.splice(d,1);break}};E.qa=function(){return"5.6.4"};E.B=function(a){this.get(hb);a="auto"==a?Ka(J.domain):a&&"-"!=a&&"none"!=a?a[D]():"";this.set(bb,a)};E.va=function(a){this.set(hb,!!a)};
|
|
||||||
E.na=function(a,b){return ce(this.a,a,b)};E.link=function(a,b){if(this.a.get(fb)&&a){var c=ce(this.a,a,b);J[z].href=c}};E.ua=function(a,b){this.a.get(fb)&&a&&a.action&&(a.action=ce(this.a,a.action,b))};
|
|
||||||
E.za=function(){this.v();var a=this.a,b=J.getElementById?J.getElementById("utmtrans"):J.utmform&&J.utmform.utmtrans?J.utmform.utmtrans:null;if(b&&b[na]){a.set(Cb,[]);for(var b=b[na][y]("UTM:"),c=0;c<b[w];c++){b[c]=Da(b[c]);for(var d=b[c][y](de),e=0;e<d[w];e++)d[e]=Da(d[e]);"T"==d[0]?fe(a,d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8]):"I"==d[0]&&ge(a,d[1],d[2],d[3],d[4],d[5],d[6])}}};E.$=function(a,b,c,d,e,f,Be,k){return fe(this.a,a,b,c,d,e,f,Be,k)};E.Y=function(a,b,c,d,e,f){return ge(this.a,a,b,c,d,e,f)};
|
|
||||||
E.Aa=function(a){de=a||"|"};E.ea=function(){this.set(Cb,[])};E.wa=function(a,b,c,d){var e=this.a;if(0>=a||a>e.get(yb))a=!1;else if(!b||!c||128<b[w]+c[w])a=!1;else{1!=d&&2!=d&&(d=3);var f={};ha(f,b);f.value=c;f.scope=d;e.get(Fb)[a]=f;a=!0}a&&this.a.n();return a};E.ka=function(a){this.a.get(Fb)[a]=void 0;this.a.n()};E.ra=function(a){return(a=this.a.get(Fb)[a])&&1==a[ua]?a[na]:void 0};E.Ca=function(a,b,c){12==a&&1==b?this.set(pf,c):this.m().f(a,b,c)};E.Da=function(a,b,c){this.m().o(a,b,c)};
|
|
||||||
E.sa=function(a,b){return this.m().getKey(a,b)};E.ta=function(a,b){return this.m().N(a,b)};E.fa=function(a){this.m().L(a)};E.ga=function(a){this.m().M(a)};E.ja=function(){return new yd};E.W=function(a){a&&this.get(Ab)[n](a[D]())};E.ba=function(){this.set(Ab,[])};E.X=function(a){a&&this.get(Bb)[n](a[D]())};E.ca=function(){this.set(Bb,[])};E.Z=function(a,b,c,d,e){if(a&&b){a=[a,b[D]()][C](":");if(d||e)a=[a,d,e][C](":");d=this.get(zb);d.splice(c?0:d[w],0,a)}};E.da=function(){this.set(zb,[])};
|
|
||||||
E.ha=function(a){this.a[ka]();var b=this.get(P),c=be(this.a);this.set(P,a);this.a.n();ae(this.a,c);this.set(P,b)};E.ya=function(a,b){if(0<a&&5>=a&&Ca(b)&&""!=b){var c=this.get(Fc)||[];c[a]=b;this.set(Fc,c)}};E.V=function(a){a=""+a;if(a[oa](/^[A-Za-z0-9]{1,5}$/)){var b=this.get(Ic)||[];b[n](a);this.set(Ic,b)}};E.v=function(){this.a[ka]()};E.Ba=function(a){a&&""!=a&&(this.set(Tb,a),this.a.j("var"))};var ne=function(a){"trans"!==a.get(sc)&&500<=a.b(cc,0)&&a[ta]();if("event"===a.get(sc)){var b=(new Date)[g](),c=a.b(dc,0),d=a.b(Zb,0),c=m[la]((b-(c!=d?c:1E3*c))/1E3*1);0<c&&(a.set(dc,b),a.set(R,m.min(10,a.b(R,0)+c)));0>=a.b(R,0)&&a[ta]()}},pe=function(a){"event"===a.get(sc)&&a.set(R,m.max(0,a.b(R,10)-1))};var qe=function(){var a=[];this.add=function(b,c,d){d&&(c=G(""+c));a[n](b+"="+c)};this.toString=function(){return a[C]("&")}},re=function(a,b){(b||2!=a.get(xb))&&a.Za(cc)},se=function(a,b){b.add("utmwv","5.6.4");b.add("utms",a.get(cc));b.add("utmn",Ea());var c=J[z].hostname;F(c)||b.add("utmhn",c,!0);c=a.get(vb);100!=c&&b.add("utmsp",c,!0)},te=function(a,b){b.add("utmht",(new Date)[g]());b.add("utmac",Da(a.get(Wa)));a.get(Oc)&&b.add("utmxkey",a.get(Oc),!0);a.get(vc)&&b.add("utmni",1);a.get(of)&&b.add("utmgtm",
|
|
||||||
a.get(of),!0);var c=a.get(Ic);c&&0<c[w]&&b.add("utmdid",c[C]("."));ff(a,b);!1!==a.get(Xa)&&(a.get(Xa)||M.w)&&b.add("aip",1);void 0!==a.get(Kc)&&b.add("utmjid",a.c(Kc,""),!0);a.b(Yb,0)&&b.add("utmredir",a.b(Yb,0),!0);M.bb||(M.bb=a.get(Wa));(1<M.ab()||M.bb!=a.get(Wa))&&b.add("utmmt",1);b.add("utmu",od.encode())},ue=function(a,b){for(var c=a.get(Fc)||[],d=[],e=1;e<c[w];e++)c[e]&&d[n](e+":"+G(c[e][p](/%/g,"%25")[p](/:/g,"%3A")[p](/,/g,"%2C")));d[w]&&b.add("utmpg",d[C](","))},ff=function(a,b){function c(a,
|
|
||||||
b){b&&d[n](a+"="+b+";")}var d=[];c("__utma",cd(a));c("__utmz",hd(a,!1));c("__utmv",fd(a,!0));c("__utmx",be(a));b.add("utmcc",d[C]("+"),!0)},ve=function(a,b){a.get(ib)&&(b.add("utmcs",a.get(Qb),!0),b.add("utmsr",a.get(Lb)),a.get(Rb)&&b.add("utmvp",a.get(Rb)),b.add("utmsc",a.get(Mb)),b.add("utmul",a.get(Pb)),b.add("utmje",a.get(Nb)),b.add("utmfl",a.get(Ob),!0))},we=function(a,b){a.get(lb)&&a.get(Ib)&&b.add("utmdt",a.get(Ib),!0);b.add("utmhid",a.get(Kb));b.add("utmr",Pa(a.get(Jb),a.get(P)),!0);b.add("utmp",
|
|
||||||
G(a.get(Hb),!0),!0)},xe=function(a,b){for(var c=a.get(Db),d=a.get(Eb),e=a.get(Fb)||[],f=0;f<e[w];f++){var Be=e[f];Be&&(c||(c=new yd),c.f(8,f,Be[r]),c.f(9,f,Be[na]),3!=Be[ua]&&c.f(11,f,""+Be[ua]))}F(a.get(wc))||F(a.get(xc),!0)||(c||(c=new yd),c.f(5,1,a.get(wc)),c.f(5,2,a.get(xc)),e=a.get(yc),void 0!=e&&c.f(5,3,e),e=a.get(zc),void 0!=e&&c.o(5,1,e));F(a.get(pf))||(c||(c=new yd),c.f(12,1,a.get(pf)));c?b.add("utme",c.Qa(d),!0):d&&b.add("utme",d.A(),!0)},ye=function(a,b,c){var d=new qe;re(a,c);se(a,d);
|
|
||||||
d.add("utmt","tran");d.add("utmtid",b.id_,!0);d.add("utmtst",b.affiliation_,!0);d.add("utmtto",b.total_,!0);d.add("utmttx",b.tax_,!0);d.add("utmtsp",b.shipping_,!0);d.add("utmtci",b.city_,!0);d.add("utmtrg",b.state_,!0);d.add("utmtco",b.country_,!0);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,!0);c||(ue(a,d),te(a,d));return d[v]()},ze=function(a,b,c){var d=new qe;re(a,c);se(a,d);d.add("utmt","item");d.add("utmtid",b.transId_,!0);d.add("utmipc",b.sku_,!0);d.add("utmipn",b.name_,!0);d.add("utmiva",
|
|
||||||
b.category_,!0);d.add("utmipr",b.price_,!0);d.add("utmiqt",b.quantity_,!0);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,!0);c||(ue(a,d),te(a,d));return d[v]()},Ae=function(a,b){var c=a.get(sc);if("page"==c)c=new qe,re(a,b),se(a,c),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[v]()];else if("event"==c)c=new qe,re(a,b),se(a,c),c.add("utmt","event"),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[v]()];else if("var"==c)c=new qe,re(a,b),se(a,c),c.add("utmt","var"),!b&&te(a,c),c=[c[v]()];
|
|
||||||
else if("trans"==c)for(var c=[],d=a.get(Cb),e=0;e<d[w];++e){c[n](ye(a,d[e],b));for(var f=d[e].items_,Be=0;Be<f[w];++Be)c[n](ze(a,f[Be],b))}else"social"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","social"),c.add("utmsn",a.get(Ac),!0),c.add("utmsa",a.get(Bc),!0),c.add("utmsid",a.get(Cc),!0),xe(a,c),ve(a,c),we(a,c),ue(a,c),te(a,c),c=[c[v]()]):"feedback"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","feedback"),c.add("utmfbid",a.get(Gc),!0),c.add("utmfbpr",a.get(Hc),!0),xe(a,c),ve(a,c),we(a,
|
|
||||||
c),ue(a,c),te(a,c),c=[c[v]()]):c=[];return c},oe=function(a){var b,c=a.get(xb),d=a.get(uc),e=d&&d.Ua,f=0;if(0==c||2==c){var Be=a.get(wb)+"?";b=Ae(a,!0);for(var k=0,Ja=b[w];k<Ja;k++)Sa(b[k],e,Be,!0),f++}if(1==c||2==c)for(b=Ae(a),a=a.c(Jc,""),k=0,Ja=b[w];k<Ja;k++)try{Sa(b[k],e,a),f++}catch(t){t&&Ra(t[r],void 0,t.message)}d&&(d.q=f)};var Ne=function(){return"https:"==J[z][A]||M.G?"https://ssl.google-analytics.com":"http://www.google-analytics.com"},Ce=function(a){ha(this,"len");this.message=a+"-8192"},De=function(a){ha(this,"ff2post");this.message=a+"-2036"},Sa=function(a,b,c,d){b=b||Fa;if(d||2036>=a[w])gf(a,b,c);else if(8192>=a[w]){if(0<=W[za].userAgent[q]("Firefox")&&![].reduce)throw new De(a[w]);df(a,b)||ef(a,b)||Ee(a,b)||b()}else throw new Ce(a[w]);},gf=function(a,b,c){c=c||Ne()+"/__utm.gif?";var d=new Image(1,1);d.src=c+
|
|
||||||
a;Ie(d,function(){Ie(d,null);Je(d,null);b()});Je(d,function(){Ie(d,null);Je(d,null);b()})},ef=function(a,b){if(0!=Ne()[q](J[z][A]))return!1;var c;c=W.XDomainRequest;if(!c)return!1;c=new c;c.open("POST",Ne()+"/p/__utm.gif");Je(c,function(){b()});Ie(c,b);c.send(a);return!0},df=function(a,b){var c=W.XMLHttpRequest;if(!c)return!1;var d=new c;if(!("withCredentials"in d))return!1;d.open("POST",Ne()+"/p/__utm.gif",!0);d.withCredentials=!0;d.setRequestHeader("Content-Type","text/plain");d.onreadystatechange=
|
|
||||||
function(){4==d.readyState&&(b(),d=null)};d.send(a);return!0},Ee=function(a,b){if(!J.body)return We(function(){Ee(a,b)},100),!0;a=aa(a);try{var c=J[qa]('<iframe name="'+a+'"></iframe>')}catch(d){c=J[qa]("iframe"),ha(c,a)}c.height="0";c.width="0";c.style.display="none";c.style.visibility="hidden";var e=Ne()+"/u/post_iframe.html";Ga(W,"beforeunload",function(){c.src="";c.parentNode&&c.parentNode.removeChild(c)});ca(b,1E3);J.body.appendChild(c);c.src=e;return!0};var qf=function(){this.G=this.w=!1;0==Ea()%1E4&&(H(142),this.G=!0);this.C={};this.D=[];this.U=0;this.S=[["www.google-analytics.com","","/plugins/"]];this._gasoCPath=this._gasoDomain=this.bb=void 0;Re();Se()};E=qf[x];E.oa=function(a,b){return this.r(a,void 0,b)};E.r=function(a,b,c){b&&H(23);c&&H(67);void 0==b&&(b="~"+M.U++);a=new U(b,a,c);M.C[b]=a;M.D[n](a);return a};E.u=function(a){a=a||"";return M.C[a]||M.r(void 0,a)};E.pa=function(){return M.D[ja](0)};E.ab=function(){return M.D[w]};
|
|
||||||
E.aa=function(){this.w=!0};E.la=function(){this.G=!0};var Fe=function(a){if("prerender"==J.visibilityState)return!1;a();return!0};var M=new qf;var Ha=W._gat;Ha&&Ba(Ha._getTracker)?M=Ha:W._gat=M;var Z=new Y;(function(a){if(!Fe(a)){H(123);var b=!1,c=function(){if(!b&&Fe(a)){b=!0;var d=J,e=c;d.removeEventListener?d.removeEventListener("visibilitychange",e,!1):d.detachEvent&&d.detachEvent("onvisibilitychange",e)}};Ga(J,"visibilitychange",c)}})(function(){var a=W._gaq,b=!1;if(a&&Ba(a[n])&&(b="[object Array]"==Object[x][v].call(Object(a)),!b)){Z=a;return}W._gaq=Z;b&&Z[n][ya](Z,a)});function Yc(a){var b=1,c=0,d;if(a)for(b=0,d=a[w]-1;0<=d;d--)c=a.charCodeAt(d),b=(b<<6&268435455)+c+(c<<14),c=b&266338304,b=0!=c?b^c>>21:b;return b};})();
|
|
Before Width: | Height: | Size: 843 B |
|
@ -1,71 +0,0 @@
|
||||||
var Z,Zaa=Zaa||{},Za=this,Zba=function(){},Zca=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&
|
|
||||||
!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},Zb=function(a){return"array"==Zca(a)},Zda=function(a){var b=Zca(a);return"array"==b||"object"==b&&"number"==typeof a.length},Zc=function(a){return"string"==typeof a},Zd=function(a){return"function"==Zca(a)},Zea=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},Zfa=function(a,b,c){return a.call.apply(a.bind,arguments)},Zga=function(a,b,c){if(!a)throw Error();
|
|
||||||
if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},Ze=function(a,b,c){Ze=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?Zfa:Zga;return Ze.apply(null,arguments)},Zha=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);
|
|
||||||
return a.apply(this,b)}},Zia=Date.now||function(){return+new Date},Zf=function(a,b){var c=a.split("."),d=Za;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d=d[e]?d[e]:d[e]={}:d[e]=b},Zg=function(a,b){function c(){}c.prototype=b.prototype;a.I=b.prototype;a.prototype=new c;a.ed=function(a,c,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[c].apply(a,g)}};
|
|
||||||
Function.prototype.bind=Function.prototype.bind||function(a,b){if(1<arguments.length){var c=Array.prototype.slice.call(arguments,1);c.unshift(this,a);return Ze.apply(null,c)}return Ze(this,a)};var Zh=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,Zh);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};Zg(Zh,Error);Zh.prototype.name="CustomError";var Zi=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")},Zja=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Zj=function(a){if(!Zka.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(Zla,"&"));-1!=a.indexOf("<")&&(a=a.replace(Zma,"<"));-1!=a.indexOf(">")&&(a=a.replace(Zna,">"));-1!=a.indexOf('"')&&(a=a.replace(Zoa,"""));
|
|
||||||
-1!=a.indexOf("'")&&(a=a.replace(Zpa,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Zqa,"�"));return a},Zla=/&/g,Zma=/</g,Zna=/>/g,Zoa=/"/g,Zpa=/'/g,Zqa=/\x00/g,Zka=/[\x00&<>"']/,Zra=function(a,b){return a<b?-1:a>b?1:0};var Zsa=function(a,b){b.unshift(a);Zh.call(this,Zi.apply(null,b));b.shift()};Zg(Zsa,Zh);Zsa.prototype.name="AssertionError";var Zk=function(a,b,c){if(!a){var d="Assertion failed";if(b)var d=d+(": "+b),e=Array.prototype.slice.call(arguments,2);throw new Zsa(""+d,e||[]);}},Zta=function(a,b){throw new Zsa("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var Zl=Array.prototype,Zua=Zl.indexOf?function(a,b,c){Zk(null!=a.length);return Zl.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(Zc(a))return Zc(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Zva=Zl.forEach?function(a,b,c){Zk(null!=a.length);Zl.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Zc(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},Zwa=Zl.filter?function(a,b,c){Zk(null!=a.length);return Zl.filter.call(a,
|
|
||||||
b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=Zc(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e},Zya=function(a){var b;a:{b=Zxa;for(var c=a.length,d=Zc(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:Zc(a)?a.charAt(b):a[b]},Zza=function(a,b){var c=Zua(a,b),d;if(d=0<=c)Zk(null!=a.length),Zl.splice.call(a,c,1);return d},ZAa=function(a){return Zl.concat.apply(Zl,arguments)},ZBa=function(a){var b=a.length;
|
|
||||||
if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};var ZCa=function(a,b){for(var c in a)b.call(void 0,a[c],c,a)},ZDa=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b},ZEa=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b},ZFa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),ZGa=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<ZFa.length;f++)c=ZFa[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}},ZHa=function(a){var b=
|
|
||||||
arguments.length;if(1==b&&Zb(arguments[0]))return ZHa.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};ZHa("area base br col command embed hr img input keygen link meta param source track wbr".split(" "));var Zm=function(a,b){this.width=a;this.height=b};Zm.prototype.clone=function(){return new Zm(this.width,this.height)};Zm.prototype.toString=function(){return"("+this.width+" x "+this.height+")"};Zm.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};var Zn;a:{var ZIa=Za.navigator;if(ZIa){var ZJa=ZIa.userAgent;if(ZJa){Zn=ZJa;break a}}Zn=""};var Zo=function(){return-1!=Zn.indexOf("Edge")};var ZKa=-1!=Zn.indexOf("Opera")||-1!=Zn.indexOf("OPR"),Zp=-1!=Zn.indexOf("Edge")||-1!=Zn.indexOf("Trident")||-1!=Zn.indexOf("MSIE"),Zq=-1!=Zn.indexOf("Gecko")&&!(-1!=Zn.toLowerCase().indexOf("webkit")&&!Zo())&&!(-1!=Zn.indexOf("Trident")||-1!=Zn.indexOf("MSIE"))&&!Zo(),Zr=-1!=Zn.toLowerCase().indexOf("webkit")&&!Zo(),ZLa=function(){var a=Zn;if(Zq)return/rv\:([^\);]+)(\)|;)/.exec(a);if(Zp&&Zo())return/Edge\/([\d\.]+)/.exec(a);if(Zp)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Zr)return/WebKit\/(\S+)/.exec(a)},
|
|
||||||
ZMa=function(){var a=Za.document;return a?a.documentMode:void 0},ZNa=function(){if(ZKa&&Za.opera){var a=Za.opera.version;return Zd(a)?a():a}var a="",b=ZLa();b&&(a=b?b[1]:"");return Zp&&!Zo()&&(b=ZMa(),b>parseFloat(a))?String(b):a}(),ZOa={},Zs=function(a){var b;if(!(b=ZOa[a])){b=0;for(var c=Zja(String(ZNa)).split("."),d=Zja(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",h=d[f]||"",k=RegExp("(\\d*)(\\D*)","g"),l=RegExp("(\\d*)(\\D*)","g");do{var m=k.exec(g)||["",
|
|
||||||
"",""],n=l.exec(h)||["","",""];if(0==m[0].length&&0==n[0].length)break;b=Zra(0==m[1].length?0:parseInt(m[1],10),0==n[1].length?0:parseInt(n[1],10))||Zra(0==m[2].length,0==n[2].length)||Zra(m[2],n[2])}while(0==b)}b=ZOa[a]=0<=b}return b},ZPa=Za.document,ZQa=ZMa(),ZRa=!ZPa||!Zp||!ZQa&&Zo()?void 0:ZQa||("CSS1Compat"==ZPa.compatMode?parseInt(ZNa,10):5);var ZSa=!Zp||Zp&&(Zo()||9<=ZRa),ZTa=!Zq&&!Zp||Zp&&Zp&&(Zo()||9<=ZRa)||Zq&&Zs("1.9.1"),ZUa=Zp&&!Zs("9");var Zt=function(a){var b=document;return Zc(a)?b.getElementById(a):a},ZVa=function(a,b,c){var d=document;c=c||d;var e=a&&"*"!=a?a.toUpperCase():"";if(c.querySelectorAll&&c.querySelector&&(e||b))return c.querySelectorAll(e+(b?"."+b:""));if(b&&c.getElementsByClassName){a=c.getElementsByClassName(b);if(e){c={};for(var f=d=0,g;g=a[f];f++)e==g.nodeName&&(c[d++]=g);c.length=d;return c}return a}a=c.getElementsByTagName(e||"*");if(b){c={};for(f=d=0;g=a[f];f++){var e=g.className,h;if(h="function"==typeof e.split)h=
|
|
||||||
0<=Zua(e.split(/\s+/),b);h&&(c[d++]=g)}c.length=d;return c}return a},ZXa=function(a,b){ZCa(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in ZWa?a.setAttribute(ZWa[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})},ZWa={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",
|
|
||||||
width:"width"},ZYa=function(a){a=a.document;a="CSS1Compat"==a.compatMode?a.documentElement:a.body;return new Zm(a.clientWidth,a.clientHeight)},Zu=function(a,b,c){return ZZa(document,arguments)},ZZa=function(a,b){var c=b[0],d=b[1];if(!ZSa&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',Zj(d.name),'"');if(d.type){c.push(' type="',Zj(d.type),'"');var e={};ZGa(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(Zc(d)?c.className=d:Zb(d)?c.className=d.join(" "):ZXa(c,d));
|
|
||||||
2<b.length&&Z_a(a,c,b,2);return c},Z_a=function(a,b,c,d){function e(c){c&&b.appendChild(Zc(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];!Zda(f)||Zea(f)&&0<f.nodeType?e(f):Zva(Z0a(f)?ZBa(f):f,e)}},Z2a=function(a,b){Z_a(Z1a(a),a,arguments,1)},Zv=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)},Z1a=function(a){Zk(a,"Node cannot be null or undefined.");return 9==a.nodeType?a:a.ownerDocument||a.document},Z3a={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},Z4a={IMG:" ",BR:"\n"},
|
|
||||||
Z6a=function(a){if(ZUa&&"innerText"in a)a=a.innerText.replace(/(\r\n|\r|\n)/g,"\n");else{var b=[];Z5a(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");ZUa||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a},Z5a=function(a,b,c){if(!(a.nodeName in Z3a))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in Z4a)b.push(Z4a[a.nodeName]);else for(a=a.firstChild;a;)Z5a(a,b,c),a=a.nextSibling},
|
|
||||||
Z0a=function(a){if(a&&"number"==typeof a.length){if(Zea(a))return"function"==typeof a.item||"string"==typeof a.item;if(Zd(a))return"function"==typeof a.item}return!1},Z7a=function(a,b){for(var c=0;a;){if(b(a))return a;a=a.parentNode;c++}return null},Z8a=function(a){this.wa=a||Za.document||document};Z=Z8a.prototype;Z.jc=function(a,b,c){return ZZa(this.wa,arguments)};Z.createElement=function(a){return this.wa.createElement(a)};Z.createTextNode=function(a){return this.wa.createTextNode(String(a))};
|
|
||||||
Z.appendChild=function(a,b){a.appendChild(b)};Z.Bb=function(a){return ZTa&&void 0!=a.children?a.children:Zwa(a.childNodes,function(a){return 1==a.nodeType})};Z.contains=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};var Z9a=function(a){if(a.classList)return a.classList;a=a.className;return Zc(a)&&a.match(/\S+/g)||[]},Zw=function(a,b){var c;a.classList?c=a.classList.contains(b):(c=Z9a(a),c=0<=Zua(c,b));return c},Z$a=function(a,b){a.classList?a.classList.remove(b):Zw(a,b)&&(a.className=Zwa(Z9a(a),function(a){return a!=b}).join(" "))},Zab=function(a,b,c){Zw(a,b)&&(Z$a(a,b),a.classList?a.classList.add(c):Zw(a,c)||(a.className+=0<a.className.length?" "+c:c))};var Zbb=function(a){Zbb[" "](a);return a};Zbb[" "]=Zba;var Zcb=!Zp||Zp&&(Zo()||9<=ZRa),Zdb=Zp&&!Zs("9");!Zr||Zs("528");Zq&&Zs("1.9b")||Zp&&Zs("8")||ZKa&&Zs("9.5")||Zr&&Zs("528");Zq&&!Zs("8")||Zp&&Zs("9");var Zeb=function(){this.ca=this.ca;this.Da=this.Da};Zeb.prototype.ca=!1;Zeb.prototype.mc=function(){this.ca||(this.ca=!0,this.K())};Zeb.prototype.K=function(){if(this.Da)for(;this.Da.length;)this.Da.shift()()};var Zx=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.Q=!1;this.Sb=!0};Zx.prototype.stopPropagation=function(){this.Q=!0};Zx.prototype.preventDefault=function(){this.defaultPrevented=!0;this.Sb=!1};var Zy=function(a,b){Zx.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.ea=this.state=null;if(a){var c=this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(Zq){var e;a:{try{Zbb(d.nodeName);e=!0;break a}catch(f){}e=!1}e||(d=null)}}else"mouseover"==
|
|
||||||
c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=Zr||void 0!==a.offsetX?a.offsetX:a.layerX;this.offsetY=Zr||void 0!==a.offsetY?a.offsetY:a.layerY;this.clientX=void 0!==a.clientX?a.clientX:a.pageX;this.clientY=void 0!==a.clientY?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;
|
|
||||||
this.metaKey=a.metaKey;this.state=a.state;this.ea=a;a.defaultPrevented&&this.preventDefault()}};Zg(Zy,Zx);Zy.prototype.stopPropagation=function(){Zy.I.stopPropagation.call(this);this.ea.stopPropagation?this.ea.stopPropagation():this.ea.cancelBubble=!0};Zy.prototype.preventDefault=function(){Zy.I.preventDefault.call(this);var a=this.ea;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Zdb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var Zfb="closure_listenable_"+(1E6*Math.random()|0),Zgb=0;var Zhb=function(a,b,c,d,e){this.P=a;this.Fa=null;this.src=b;this.type=c;this.pa=!!d;this.xa=e;this.key=++Zgb;this.W=this.oa=!1},Zib=function(a){a.W=!0;a.P=null;a.Fa=null;a.src=null;a.xa=null};var Zz=function(a){this.src=a;this.q={};this.ka=0};Zz.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.q[f];a||(a=this.q[f]=[],this.ka++);var g=Zjb(a,b,d,e);-1<g?(b=a[g],c||(b.oa=!1)):(b=new Zhb(b,this.src,f,!!d,e),b.oa=c,a.push(b));return b};Zz.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.q))return!1;var e=this.q[a];b=Zjb(e,b,c,d);return-1<b?(Zib(e[b]),Zk(null!=e.length),Zl.splice.call(e,b,1),0==e.length&&(delete this.q[a],this.ka--),!0):!1};
|
|
||||||
var Zkb=function(a,b){var c=b.type;c in a.q&&Zza(a.q[c],b)&&(Zib(b),0==a.q[c].length&&(delete a.q[c],a.ka--))};Zz.prototype.Va=function(a,b,c,d){a=this.q[a.toString()];var e=-1;a&&(e=Zjb(a,b,c,d));return-1<e?a[e]:null};var Zjb=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.W&&f.P==b&&f.pa==!!c&&f.xa==d)return e}return-1};var Zlb="closure_lm_"+(1E6*Math.random()|0),Zmb={},Znb=0,ZA=function(a,b,c,d,e){if(Zb(b)){for(var f=0;f<b.length;f++)ZA(a,b[f],c,d,e);return null}c=Zob(c);if(a&&a[Zfb])f=c,Zpb(a),a=a.C.add(String(b),f,!1,d,e);else{if(!b)throw Error("Invalid event type");var f=!!d,g=Zqb(a);g||(a[Zlb]=g=new Zz(a));d=g.add(b,c,!1,d,e);d.Fa||(e=Zrb(),d.Fa=e,e.src=a,e.P=d,a.addEventListener?a.addEventListener(b.toString(),e,f):a.attachEvent(Zsb(b.toString()),e),Znb++);a=d}return a},Zrb=function(){var a=Ztb,b=Zcb?function(c){return a.call(b.src,
|
|
||||||
b.P,c)}:function(c){c=a.call(b.src,b.P,c);if(!c)return c};return b},Zub=function(a,b,c,d,e){if(Zb(b))for(var f=0;f<b.length;f++)Zub(a,b[f],c,d,e);else c=Zob(c),a&&a[Zfb]?a.C.remove(String(b),c,d,e):a&&(a=Zqb(a))&&(b=a.Va(b,c,!!d,e))&&Zvb(b)},Zvb=function(a){if("number"!=typeof a&&a&&!a.W){var b=a.src;if(b&&b[Zfb])Zkb(b.C,a);else{var c=a.type,d=a.Fa;b.removeEventListener?b.removeEventListener(c,d,a.pa):b.detachEvent&&b.detachEvent(Zsb(c),d);Znb--;(c=Zqb(b))?(Zkb(c,a),0==c.ka&&(c.src=null,b[Zlb]=null)):
|
|
||||||
Zib(a)}}},Zsb=function(a){return a in Zmb?Zmb[a]:Zmb[a]="on"+a},Zxb=function(a,b,c,d){var e=!0;if(a=Zqb(a))if(b=a.q[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.pa==c&&!f.W&&(f=Zwb(f,d),e=e&&!1!==f)}return e},Zwb=function(a,b){var c=a.P,d=a.xa||a.src;a.oa&&Zvb(a);return c.call(d,b)},Ztb=function(a,b){if(a.W)return!0;if(!Zcb){var c;if(!(c=b))a:{c=["window","event"];for(var d=Za,e;e=c.shift();)if(null!=d[e])d=d[e];else{c=null;break a}c=d}e=c;c=new Zy(e,this);d=!0;if(!(0>e.keyCode||
|
|
||||||
void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(g){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,h=e.length-1;!c.Q&&0<=h;h--){c.currentTarget=e[h];var k=Zxb(e[h],f,!0,c),d=d&&k}for(h=0;!c.Q&&h<e.length;h++)c.currentTarget=e[h],k=Zxb(e[h],f,!1,c),d=d&&k}return d}return Zwb(a,new Zy(b,this))},Zqb=function(a){a=a[Zlb];return a instanceof Zz?a:null},Zyb="__closure_events_fn_"+(1E9*Math.random()>>>
|
|
||||||
0),Zob=function(a){Zk(a,"Listener can not be null.");if(Zd(a))return a;Zk(a.handleEvent,"An object listener must have handleEvent method.");a[Zyb]||(a[Zyb]=function(b){return a.handleEvent(b)});return a[Zyb]};var ZB=function(){Zeb.call(this);this.C=new Zz(this);this.dc=this;this.bb=null};Zg(ZB,Zeb);ZB.prototype[Zfb]=!0;ZB.prototype.addEventListener=function(a,b,c,d){ZA(this,a,b,c,d)};ZB.prototype.removeEventListener=function(a,b,c,d){Zub(this,a,b,c,d)};
|
|
||||||
ZB.prototype.dispatchEvent=function(a){Zpb(this);var b,c=this.bb;if(c){b=[];for(var d=1;c;c=c.bb)b.push(c),Zk(1E3>++d,"infinite loop")}c=this.dc;d=a.type||a;if(Zc(a))a=new Zx(a,c);else if(a instanceof Zx)a.target=a.target||c;else{var e=a;a=new Zx(d,c);ZGa(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.Q&&0<=g;g--)f=a.currentTarget=b[g],e=Zzb(f,d,!0,a)&&e;a.Q||(f=a.currentTarget=c,e=Zzb(f,d,!0,a)&&e,a.Q||(e=Zzb(f,d,!1,a)&&e));if(b)for(g=0;!a.Q&&g<b.length;g++)f=a.currentTarget=b[g],e=Zzb(f,d,!1,a)&&
|
|
||||||
e;return e};ZB.prototype.K=function(){ZB.I.K.call(this);if(this.C){var a=this.C,b=0,c;for(c in a.q){for(var d=a.q[c],e=0;e<d.length;e++)++b,Zib(d[e]);delete a.q[c];a.ka--}}this.bb=null};var Zzb=function(a,b,c,d){b=a.C.q[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.W&&g.pa==c){var h=g.P,k=g.xa||g.src;g.oa&&Zkb(a.C,g);e=!1!==h.call(k,d)&&e}}return e&&0!=d.Sb};ZB.prototype.Va=function(a,b,c,d){return this.C.Va(String(a),b,c,d)};
|
|
||||||
var Zpb=function(a){Zk(a.C,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};var ZAb=function(a){a=String(a);if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);},ZBb=function(a){return eval("("+a+")")};var ZCb="StopIteration"in Za?Za.StopIteration:Error("StopIteration"),ZDb=function(){};ZDb.prototype.next=function(){throw ZCb;};ZDb.prototype.cc=function(){return this};var ZC=function(a,b){this.D={};this.j=[];this.ma=this.i=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};Z=ZC.prototype;Z.G=function(){ZEb(this);for(var a=[],b=0;b<this.j.length;b++)a.push(this.D[this.j[b]]);return a};Z.F=function(){ZEb(this);return this.j.concat()};Z.ba=function(a){return ZD(this.D,a)};Z.clear=function(){this.D={};this.ma=this.i=this.j.length=0};
|
|
||||||
Z.remove=function(a){return ZD(this.D,a)?(delete this.D[a],this.i--,this.ma++,this.j.length>2*this.i&&ZEb(this),!0):!1};var ZEb=function(a){if(a.i!=a.j.length){for(var b=0,c=0;b<a.j.length;){var d=a.j[b];ZD(a.D,d)&&(a.j[c++]=d);b++}a.j.length=c}if(a.i!=a.j.length){for(var e={},c=b=0;b<a.j.length;)d=a.j[b],ZD(e,d)||(a.j[c++]=d,e[d]=1),b++;a.j.length=c}};Z=ZC.prototype;Z.get=function(a,b){return ZD(this.D,a)?this.D[a]:b};
|
|
||||||
Z.set=function(a,b){ZD(this.D,a)||(this.i++,this.j.push(a),this.ma++);this.D[a]=b};Z.addAll=function(a){var b;a instanceof ZC?(b=a.F(),a=a.G()):(b=ZEa(a),a=ZDa(a));for(var c=0;c<b.length;c++)this.set(b[c],a[c])};Z.forEach=function(a,b){for(var c=this.F(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};Z.clone=function(){return new ZC(this)};
|
|
||||||
Z.cc=function(a){ZEb(this);var b=0,c=this.ma,d=this,e=new ZDb;e.next=function(){if(c!=d.ma)throw Error("The map has changed since the iterator was created");if(b>=d.j.length)throw ZCb;var e=d.j[b++];return a?e:d.D[e]};return e};var ZD=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var ZFb=function(a){if("function"==typeof a.G)return a.G();if(Zc(a))return a.split("");if(Zda(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return ZDa(a)},ZGb=function(a){if("function"==typeof a.F)return a.F();if("function"!=typeof a.G){if(Zda(a)||Zc(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return ZEa(a)}},ZHb=function(a,b,c){if("function"==typeof a.forEach)a.forEach(b,c);else if(Zda(a)||Zc(a))Zva(a,b,c);else for(var d=ZGb(a),e=ZFb(a),f=e.length,g=0;g<f;g++)b.call(c,
|
|
||||||
e[g],d&&d[g],a)};var ZIb=function(a,b,c,d,e){this.reset(a,b,c,d,e)};ZIb.prototype.zb=null;var ZJb=0;ZIb.prototype.reset=function(a,b,c,d,e){"number"==typeof e||ZJb++;d||Zia();this.fa=a;this.Fc=b;delete this.zb};ZIb.prototype.Yb=function(a){this.fa=a};var ZE=function(a){this.Gc=a;this.Eb=this.Pa=this.fa=this.Ea=null},ZKb=function(a,b){this.name=a;this.value=b};ZKb.prototype.toString=function(){return this.name};var ZLb=new ZKb("SEVERE",1E3),ZMb=new ZKb("CONFIG",700),ZNb=new ZKb("FINE",500);ZE.prototype.getParent=function(){return this.Ea};ZE.prototype.Bb=function(){this.Pa||(this.Pa={});return this.Pa};ZE.prototype.Yb=function(a){this.fa=a};var ZOb=function(a){if(a.fa)return a.fa;if(a.Ea)return ZOb(a.Ea);Zta("Root logger has no level set.");return null};
|
|
||||||
ZE.prototype.log=function(a,b,c){if(a.value>=ZOb(this).value)for(Zd(b)&&(b=b()),a=new ZIb(a,String(b),this.Gc),c&&(a.zb=c),c="log:"+a.Fc,Za.console&&(Za.console.timeStamp?Za.console.timeStamp(c):Za.console.markTimeline&&Za.console.markTimeline(c)),Za.msWriteProfilerMark&&Za.msWriteProfilerMark(c),c=this;c;){b=c;var d=a;if(b.Eb)for(var e=0,f=void 0;f=b.Eb[e];e++)f(d);c=c.getParent()}};
|
|
||||||
var ZPb={},ZQb=null,ZRb=function(a){ZQb||(ZQb=new ZE(""),ZPb[""]=ZQb,ZQb.Yb(ZMb));var b;if(!(b=ZPb[a])){b=new ZE(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=ZRb(a.substr(0,c));c.Bb()[d]=b;b.Ea=c;ZPb[a]=b}return b};var ZF=function(a,b){a&&a.log(ZNb,b,void 0)};[].push(function(){});var ZSb=function(a,b,c){if(Zd(a))c&&(a=Ze(a,c));else if(a&&"function"==typeof a.handleEvent)a=Ze(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<b?-1:Za.setTimeout(a,b||0)};var ZTb=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,ZVb=function(a){if(ZUb){ZUb=!1;var b=Za.location;if(b){var c=b.href;if(c&&(c=(c=ZVb(c)[3]||null)?decodeURI(c):c)&&c!=b.hostname)throw ZUb=!0,Error();}}return a.match(ZTb)},ZUb=Zr,ZWb=function(a,b){for(var c=a.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f=null,g=null;0<=e?(f=c[d].substring(0,e),g=c[d].substring(e+1)):f=c[d];b(f,g?decodeURIComponent(g.replace(/\+/g," ")):
|
|
||||||
"")}};var ZXb=function(){};ZXb.prototype.tb=null;var ZZb=function(a){var b;(b=a.tb)||(b={},ZYb(a)&&(b[0]=!0,b[1]=!0),b=a.tb=b);return b};var Z_b,Z0b=function(){};Zg(Z0b,ZXb);var Z1b=function(a){return(a=ZYb(a))?new ActiveXObject(a):new XMLHttpRequest},ZYb=function(a){if(!a.Fb&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;c<b.length;c++){var d=b[c];try{return new ActiveXObject(d),a.Fb=d}catch(e){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return a.Fb};
|
|
||||||
Z_b=new Z0b;var ZG=function(a){ZB.call(this);this.headers=new ZC;this.Ma=a||null;this.J=!1;this.La=this.a=null;this.M=this.Gb=this.Ba="";this.O=this.Ya=this.Aa=this.Ua=!1;this.Y=0;this.Ia=null;this.Rb="";this.Ka=this.dd=!1};Zg(ZG,ZB);var Z2b=ZG.prototype,Z3b=ZRb("goog.net.XhrIo");Z2b.A=Z3b;
|
|
||||||
var Z4b=/^https?$/i,Z5b=["POST","PUT"],Z6b=[],ZH=function(a,b,c,d,e,f){var g=new ZG;Z6b.push(g);b&&(Zpb(g),g.C.add("complete",b,!1,void 0,void 0));g.C.add("ready",g.fc,!0,void 0,void 0);f&&(g.Y=Math.max(0,f));g.send(a,c,d,e)};ZG.prototype.fc=function(){this.mc();Zza(Z6b,this)};
|
|
||||||
ZG.prototype.send=function(a,b,c,d){if(this.a)throw Error("[goog.net.XhrIo] Object is active with another request="+this.Ba+"; newUri="+a);b=b?b.toUpperCase():"GET";this.Ba=a;this.M="";this.Gb=b;this.Ua=!1;this.J=!0;this.a=this.Ma?Z1b(this.Ma):Z1b(Z_b);this.La=this.Ma?ZZb(this.Ma):ZZb(Z_b);this.a.onreadystatechange=Ze(this.Lb,this);try{ZF(this.A,ZI(this,"Opening Xhr")),this.Ya=!0,this.a.open(b,String(a),!0),this.Ya=!1}catch(e){ZF(this.A,ZI(this,"Error opening Xhr: "+e.message));Z7b(this,e);return}a=
|
|
||||||
c||"";var f=this.headers.clone();d&&ZHb(d,function(a,b){f.set(b,a)});d=Zya(f.F());c=Za.FormData&&a instanceof Za.FormData;!(0<=Zua(Z5b,b))||d||c||f.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");f.forEach(function(a,b){this.a.setRequestHeader(b,a)},this);this.Rb&&(this.a.responseType=this.Rb);"withCredentials"in this.a&&(this.a.withCredentials=this.dd);try{Z8b(this),0<this.Y&&(this.Ka=Z9b(this.a),ZF(this.A,ZI(this,"Will abort after "+this.Y+"ms if incomplete, xhr2 "+this.Ka)),
|
|
||||||
this.Ka?(this.a.timeout=this.Y,this.a.ontimeout=Ze(this.ac,this)):this.Ia=ZSb(this.ac,this.Y,this)),ZF(this.A,ZI(this,"Sending request")),this.Aa=!0,this.a.send(a),this.Aa=!1}catch(g){ZF(this.A,ZI(this,"Send error: "+g.message)),Z7b(this,g)}};var Z9b=function(a){return Zp&&Zs(9)&&"number"==typeof a.timeout&&void 0!==a.ontimeout},Zxa=function(a){return"content-type"==a.toLowerCase()};
|
|
||||||
ZG.prototype.ac=function(){"undefined"!=typeof Zaa&&this.a&&(this.M="Timed out after "+this.Y+"ms, aborting",ZF(this.A,ZI(this,this.M)),this.dispatchEvent("timeout"),this.abort(8))};var Z7b=function(a,b){a.J=!1;a.a&&(a.O=!0,a.a.abort(),a.O=!1);a.M=b;Z$b(a);Zac(a)},Z$b=function(a){a.Ua||(a.Ua=!0,a.dispatchEvent("complete"),a.dispatchEvent("error"))};
|
|
||||||
ZG.prototype.abort=function(){this.a&&this.J&&(ZF(this.A,ZI(this,"Aborting")),this.J=!1,this.O=!0,this.a.abort(),this.O=!1,this.dispatchEvent("complete"),this.dispatchEvent("abort"),Zac(this))};ZG.prototype.K=function(){this.a&&(this.J&&(this.J=!1,this.O=!0,this.a.abort(),this.O=!1),Zac(this,!0));ZG.I.K.call(this)};ZG.prototype.Lb=function(){this.ca||(this.Ya||this.Aa||this.O?Zbc(this):this.Lc())};ZG.prototype.Lc=function(){Zbc(this)};
|
|
||||||
var Zbc=function(a){if(a.J&&"undefined"!=typeof Zaa)if(a.La[1]&&4==Zcc(a)&&2==Zdc(a))ZF(a.A,ZI(a,"Local request error detected and ignored"));else if(a.Aa&&4==Zcc(a))ZSb(a.Lb,0,a);else if(a.dispatchEvent("readystatechange"),4==Zcc(a)){ZF(a.A,ZI(a,"Request complete"));a.J=!1;try{if(ZJ(a))a.dispatchEvent("complete"),a.dispatchEvent("success");else{var b;try{b=2<Zcc(a)?a.a.statusText:""}catch(c){ZF(a.A,"Can not get status: "+c.message),b=""}a.M=b+" ["+Zdc(a)+"]";Z$b(a)}}finally{Zac(a)}}},Zac=function(a,
|
|
||||||
b){if(a.a){Z8b(a);var c=a.a,d=a.La[0]?Zba:null;a.a=null;a.La=null;b||a.dispatchEvent("ready");try{c.onreadystatechange=d}catch(e){(c=a.A)&&c.log(ZLb,"Problem encountered resetting onreadystatechange: "+e.message,void 0)}}},Z8b=function(a){a.a&&a.Ka&&(a.a.ontimeout=null);"number"==typeof a.Ia&&(Za.clearTimeout(a.Ia),a.Ia=null)},ZJ=function(a){var b=Zdc(a),c;a:switch(b){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:c=!0;break a;default:c=!1}if(!c){if(b=0===b)a=ZVb(String(a.Ba))[1]||
|
|
||||||
null,!a&&self.location&&(a=self.location.protocol,a=a.substr(0,a.length-1)),b=!Z4b.test(a?a.toLowerCase():"");c=b}return c},Zcc=function(a){return a.a?a.a.readyState:0},Zdc=function(a){try{return 2<Zcc(a)?a.a.status:-1}catch(b){return-1}},Zec=function(a){try{return a.a?a.a.responseText:""}catch(b){return ZF(a.A,"Can not get responseText: "+b.message),""}},ZK=function(a){if(a.a)return ZAb(a.a.responseText)},Zfc=function(a){return Zc(a.M)?a.M:String(a.M)},ZI=function(a,b){return b+" ["+a.Gb+" "+a.Ba+
|
|
||||||
" "+Zdc(a)+"]"};var Zhc=function(a,b){var c=1,d;if(c instanceof Zm)d=c.height,c=c.width;else{if(void 0==b)throw Error("missing height argument");d=b}a.style.width=Zgc(c);a.style.height=Zgc(d)},Zgc=function(a){"number"==typeof a&&(a=Math.round(a)+"px");return a},Zjc=function(a){var b=Zic,c;a:{c=Z1a(a);if(c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))){c=c.display||c.getPropertyValue("display")||"";break a}c=""}if("none"!=(c||(a.currentStyle?a.currentStyle.display:null)||
|
|
||||||
a.style&&a.style.display))return b(a);c=a.style;var d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";a=b(a);c.display=d;c.position=f;c.visibility=e;return a},Zic=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=Zr&&!b&&!c;if((void 0===b||d)&&a.getBoundingClientRect){var e;a:{try{e=a.getBoundingClientRect()}catch(f){e={left:0,top:0,right:0,bottom:0};break a}Zp&&a.ownerDocument.body&&(a=a.ownerDocument,e.left-=a.documentElement.clientLeft+a.body.clientLeft,
|
|
||||||
e.top-=a.documentElement.clientTop+a.body.clientTop)}return new Zm(e.right-e.left,e.bottom-e.top)}return new Zm(b,c)},ZL=function(a,b){a.style.display=b?"":"none"};var ZM=function(a,b,c){this.i=this.g=null;this.w=a||null;this.Dc=!!c},ZN=function(a){a.g||(a.g=new ZC,a.i=0,a.w&&ZWb(a.w,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))},Zkc=function(a){var b=ZGb(a);if("undefined"==typeof b)throw Error("Keys are undefined");var c=new ZM(null,0,void 0);a=ZFb(a);for(var d=0;d<b.length;d++){var e=b[d],f=a[d];if(Zb(f)){var g=c;g.remove(e);0<f.length&&(g.w=null,g.g.set(ZO(g,e),ZBa(f)),g.i+=f.length)}else c.add(e,f)}return c};Z=ZM.prototype;
|
|
||||||
Z.add=function(a,b){ZN(this);this.w=null;a=ZO(this,a);var c=this.g.get(a);c||this.g.set(a,c=[]);c.push(b);this.i++;return this};Z.remove=function(a){ZN(this);a=ZO(this,a);return this.g.ba(a)?(this.w=null,this.i-=this.g.get(a).length,this.g.remove(a)):!1};Z.clear=function(){this.g=this.w=null;this.i=0};Z.ba=function(a){ZN(this);a=ZO(this,a);return this.g.ba(a)};Z.F=function(){ZN(this);for(var a=this.g.G(),b=this.g.F(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};
|
|
||||||
Z.G=function(a){ZN(this);var b=[];if(Zc(a))this.ba(a)&&(b=ZAa(b,this.g.get(ZO(this,a))));else{a=this.g.G();for(var c=0;c<a.length;c++)b=ZAa(b,a[c])}return b};Z.set=function(a,b){ZN(this);this.w=null;a=ZO(this,a);this.ba(a)&&(this.i-=this.g.get(a).length);this.g.set(a,[b]);this.i++;return this};Z.get=function(a,b){var c=a?this.G(a):[];return 0<c.length?String(c[0]):b};
|
|
||||||
Z.toString=function(){if(this.w)return this.w;if(!this.g)return"";for(var a=[],b=this.g.F(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.G(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.w=a.join("&")};Z.clone=function(){var a=new ZM;a.w=this.w;this.g&&(a.g=this.g.clone(),a.i=this.i);return a};var ZO=function(a,b){var c=String(b);a.Dc&&(c=c.toLowerCase());return c};
|
|
||||||
ZM.prototype.extend=function(a){for(var b=0;b<arguments.length;b++)ZHb(arguments[b],function(a,b){this.add(b,a)},this)};if(window.jstiming){window.jstiming.qb={};window.jstiming.Rc=1;var Zlc=function(a,b){var c=a.t[b],d=a.t.start;if(c&&d)return Math.round(c-d)},Zmc=function(a,b,c){var d="";window.jstiming.srt&&(d+="&srt="+window.jstiming.srt,delete window.jstiming.srt);window.jstiming.pt&&(d+="&tbsrt="+window.jstiming.pt,delete window.jstiming.pt);try{window.external&&window.external.tran?d+="&tran="+window.external.tran:window.gtbExternal&&window.gtbExternal.tran?d+="&tran="+window.gtbExternal.tran():window.chrome&&
|
|
||||||
window.chrome.csi&&(d+="&tran="+window.chrome.csi().tran)}catch(e){}var f=window.chrome;if(f&&(f=f.loadTimes)){f().wasFetchedViaSpdy&&(d+="&p=s");if(f().wasNpnNegotiated){var d=d+"&npn=1",g=f().npnNegotiatedProtocol;g&&(d+="&npnv="+(encodeURIComponent||escape)(g))}f().wasAlternateProtocolAvailable&&(d+="&apa=1")}var g=a.t,h=g.start,f=[],k;for(k in g)"start"!=k&&h&&f.push(k+"."+Zlc(a,k));delete g.start;if(b)for(var l in b)d+="&"+l+"="+b[l];(b=c)||(b="https:"==document.location.protocol?"https://csi.gstatic.com/csi":
|
|
||||||
"http://csi.gstatic.com/csi");return[b,"?v=3","&s="+(window.jstiming.sn||"codesite")+"&action=",a.name,"",d,"&rt=",f.join(",")].join("")},Znc=function(a,b,c){a=Zmc(a,b,c);if(!a)return"";b=new Image;var d=window.jstiming.Rc++;window.jstiming.qb[d]=b;b.onload=b.onerror=function(){window.jstiming&&delete window.jstiming.qb[d]};b.src=a;b=null;return a};window.jstiming.report=function(a,b,c){if("prerender"==document.webkitVisibilityState){var d=!1,e=function(){if(!d){b?b.prerender="1":b={prerender:"1"};
|
|
||||||
var f;"prerender"==document.webkitVisibilityState?f=!1:(Znc(a,b,c),f=!0);f&&(d=!0,document.removeEventListener("webkitvisibilitychange",e,!1))}};document.addEventListener("webkitvisibilitychange",e,!1);return""}return Znc(a,b,c)}};function Zoc(a,b){var c=a?Zkc(a):new ZM;!1!==b&&c.set("token",CS_env.token);return c.toString()}function ZP(a,b,c){ZH(a,function(a){a=a.target;ZJ(a)&&b(a)},"POST",Zoc(c))};function Zpc(a,b){ZP(CS_env.relativeBaseUrl+"/hosting/stars.do",Zha(Zqc,a),b)}function Zqc(a,b){var c=ZK(b).starred;a.Ec.src=CS_env.assetHostPath+(c?"/images/star_on.gif":"/images/star_off.gif");a.Jb&&(a.Jb.innerHTML=c?a.Mc:a.Hc);a.$c&&Zrc()}_CS_setStar=Zpc;
|
|
||||||
_CS_toggleStar=function(a,b,c,d,e,f,g,h){var k=-1!=a.src.indexOf("/images/star_off.gif")?1:0;a.src=CS_env.assetHostPath+(k?"/images/star_on.gif":"/images/star_off.gif");if(d){var l=document.getElementById(d);l&&(l.innerHTML=k?e:f)}g&&(d=document.getElementById(g))&&(g=parseInt(d.innerHTML,10),g=k?g+1:g-1,d.innerHTML=g,h&&(h=document.getElementById(h)))&&(h.innerHTML=1==g?"":"s");a={Mc:e,Hc:f,Ec:a,Jb:l,$c:c};b.starred=k;Zpc(a,b)};_CS_dismissCue=function(a){ZL(Zt("cue"),!1);CS_env.token&&ZH(CS_env.relativeBaseUrl+"/hosting/cues.do",null,"POST",Zoc({cue_id:a}));return!1};function Zsc(a){for(;a;){if(Zw(a,"collapse"))return Zab(a,"collapse","expand"),!0;if(Zw(a,"expand"))return Zab(a,"expand","collapse"),!1;a=a.parentNode}}_hideID=function(a){ZL(Zt(a),!1);return!1};_showID=function(a){ZL(Zt(a),!0);return!1};_hideEl=function(a){ZL(a,!1);return!1};_showEl=function(a){ZL(a,!0);return!1};_showInstead=function(a,b){ZL(Zt(a),!0);ZL(b,!1);return!1};
|
|
||||||
_toggleHidden=function(a){for(;a;){if(Zw(a,"closed"))return Zab(a,"closed","opened"),!1;if(Zw(a,"opened"))return Zab(a,"opened","closed"),!1;a=a.parentNode}};_toggleCollapse=Zsc;function Ztc(){var a=/http:\/\/[^\/]*\/(u|hosting|r|p)\/([^\?\/]*)\/?([^\?\/]*)\/?([^\?\/]*)?/.exec(window.location.href);if("hosting"==a[1])return a[2]?"hosting_"+a[2]:"hosting_home";if("u"==a[1])return"updates"==a[3]?a[4]?"user_updates_"+a[4]:"user_updates_user":"user_profile";if("p"==a[1]||"r"==a[1]){if(!a[3]&&!a[4])return"summary";if("wiki"==a[3]||a[3]&&!a[4])return a[3];if(a[3]&&a[4])return("w"==a[3]?"wiki":a[3])+"_"+a[4]}return"other"}
|
|
||||||
function Zuc(){var a=["codesite","ph"],b="project_"+Ztc();a.push(b);return a.join(",")}function Zvc(){var a=window.jstiming.load;a.tick("plt");a.name=Zuc();window.setTimeout(function(){window.jstiming.report(a)},500)}_CS_reportToCsi=function(){ZA(window,"load",Zvc)};function Zwc(a){window.setTimeout(function(){_gaq.push("siteTracker._trackPageview",a)},0)}_CS_click=Zwc;var ZQ=function(a,b){this.za=Zxc.length;Zxc[this.za]=this;this.target=a;this.ab=b||null;this.Z=a;this.items=[];this.ia=[];this.k=this.createElement("div","menuDiv instance"+this.za);this.mb=this.target.getAttribute("id");this.k.setAttribute("id",null!=this.mb?"menuDiv-"+this.mb:"menuDiv-instance"+this.za);this.ya();Zyc(this,"default");ZA(this.Z,"click",Ze(this.toggle,this));ZA(window,"resize",Ze(this.pb,this));ZA(document,"click",Ze(this.ya,this));ZA(this.k,"click",function(a){a.stopPropagation()});
|
|
||||||
ZA(this.Z,"click",function(a){a.stopPropagation()})};Z=ZQ.prototype;Z.target=null;Z.mb=null;Z.Z=null;Z.ab=null;Z.d=null;Z.za=-1;Z.items=null;Z.ia=null;Z.createElement=function(a,b,c){return Zu(a,{className:b},c)};var Zyc=function(a,b,c){a.d=a.d||[];var d=a.createElement("div","menuCategory "+b);d.nb=b;c&&(c=a.createElement("b","categoryTitle "+b,c),c.style.display="block",Z2a(a.k,c),d.Na=c);Z2a(a.k,d);return a.d[a.d.length]=a.d[b]=d};
|
|
||||||
ZQ.prototype.clear=function(){for(var a=0;a<this.d.length;a++)this.d[this.d[a].nb]=null;this.items.splice(0,this.items.length);this.d.splice(0,this.d.length);this.d=[];this.items=[];this.k.innerHTML="";Zyc(this,"default")};ZQ.prototype.removeItem=function(a){for(var b=null,c=0;c<this.items.length;c++)this.items[c]==a&&(b=this.items[c],this.items.splice(c,1)),this.items[c].item.Oa=c;return b};
|
|
||||||
var Zzc=function(a){var b=ZR;if((a=b.d[a])&&a.parentNode){a.Na&&a.Na.parentNode.removeChild(a.Na);a.parentNode.removeChild(a);for(var c=0;c<b.d.length;c++)if(b.d[c]===a){b.d[b.d[c].nb]=null;b.d.splice(c,1);return}for(c=0;c<a.childNodes.length;c++)a.childNodes[c].Oa?b.items.splice(a.childNodes[c].Oa,1):b.removeItem(a.childNodes[c])}},ZS=function(a,b,c,d,e){d=d?a.d[d]||Zyc(a,d,e):a.d["default"];c=void 0==c?"#":c;e=void 0;e=c?a.createElement("a","menuItem",b):a.createElement("span","menuText",b);b="string"==
|
|
||||||
typeof b?b:b.innerText||"ERROR";e.style.display="block";c&&e.setAttribute("href",c);e.Oa=a.items.length;Z2a(d,e);a.items[a.items.length]={item:e,text:b}},ZAc=function(a){var b=a.d.controls||Zyc(a,"controls","");a=a.createElement("hr","menuSeparator");Z2a(b,a)};Z=ZQ.prototype;
|
|
||||||
Z.pb=function(){var a=this.k.style;a.position="absolute";for(var b=null,c=0;c<this.d.length;c++)this.d[c].className=this.d[c].className.replace(/ first/,""),0==this.d[c].childNodes.length?this.d[c].style.display="none":(this.d[c].style.display="",b||(b=this.d[c],b.className+=" first"));var d="none"!=a.display&&"hidden"!=a.visibility,b=document.documentElement.clientWidth,c=document.documentElement.clientHeight,b=(window.innerWidth||b&&0<b?b:document.body.clientWidth)||1,c=(window.innerHeight||c&&
|
|
||||||
0<c?c:document.body.clientHeight)||1,e=this.find(this.target),f=this.target.offsetWidth,g=this.target.offsetHeight,h=this.k.offsetWidth,k=this.k.offsetHeight;d||(d=a.visibility,k=a.display,a.visibility="hidden",a.display="",a.height="",a.width="",h=this.k.offsetWidth,a.display=k,a.visibility=d);(d=.8<this.k.offsetHeight/c)?(k=parseInt(.8*c,10),a.height=k+"px",a.overflowX="hidden",a.overflowY="auto"):a.height=a.overflowY=a.overflowX="";a.top=e.y+g+"px";a.left=e.x+"px";175>h&&(a.width="175px");d&&(a.width=
|
|
||||||
parseInt(a.width,10)+13+"px");e.x+h>b&&(a.left=e.x-(h-f)+"px")};Z.toggle=function(){"none"==this.k.style.display?this.show():this.ya()};Z.show=function(){if(""!=this.k.style.display){for(var a=0;a<this.ia.length;a++)this.ia[a].call(null,this);this.k.style.visibility="hidden";this.k.style.display="";this.pb();this.Z.nodeName&&"A"==this.Z.nodeName&&this.Z.blur();this.k.style.visibility="visible";for(a=0;a<Zxc.length;a++){var b=Zxc[a];b!=this&&b.ya()}this.ab&&this.ab()}};
|
|
||||||
Z.ya=function(){this.k.style.display="none"};Z.find=function(a){var b=0,c=0;if(a.offsetParent){do b+=a.offsetLeft,c+=a.offsetTop;while((a=a.offsetParent)&&a.style&&"relative"!=a.style.position&&"absolute"!=a.style.position)}return{x:b,y:c}};var Zxc=[];var ZR;(function(){var a=document.getElementById("projects-dropdown");a&&(ZR=new ZQ(a,function(){Zwc("/gb/ph/myprojects")}),ZR.ia.push(Zrc),ZA(window,"load",function(){Zrc();document.body.appendChild(ZR.k)}))})();function Zrc(){CS_env.token?ZP(CS_env.relativeBaseUrl+"/hosting/projects",ZBc,{}):ZBc(null)}
|
|
||||||
function ZBc(a){if(a){var b=[],c=[],d=[],e=ZK(a),f;for(f in e)switch(f){case "personal_projects":for(a=0;a<e[f].length;a++)b.push(e[f][a]);break;case "contributorto":case "memberof":case "ownerof":for(a=0;a<e[f].length;a++)c.push(e[f][a]);break;case "starred_projects":for(a=0;a<e[f].length;a++)d.push(e[f][a]);break;case "playground_token":ZCc(e[f]);break;case "error":return}ZR.clear();b.sort();for(a=0;a<b.length;a++)f=CS_env.profileUrl+"p/"+b[a]+"/",ZS(ZR,b[a],f,"personal_projects","Personal projects");
|
|
||||||
c.sort();for(a=0;a<c.length;a++)f=CS_env.relativeBaseUrl+"/p/"+c[a]+"/",ZS(ZR,c[a],f,"projects","Projects");d.sort();for(a=0;a<d.length;a++)f=CS_env.relativeBaseUrl+"/p/"+d[a]+"/",ZS(ZR,d[a],f,"starred_projects","Starred projects");ZDc(ZEc)}else b=encodeURIComponent(window.location.href),ZR.clear(),ZS(ZR,"Sign in to see your favorites","http://www.google.com/accounts/ServiceLogin?service=code<mpl=phosting&continue="+b+"&followup="+b,"controls"),ZFc()}
|
|
||||||
function ZFc(){ZAc(ZR);var a=CS_env.relativeBaseUrl+"/hosting/";ZS(ZR,CS_env.relativeBaseUrl?"Find projects...":"Find open source projects...",a,"controls");ZS(ZR,"Create a project...",a+"createProject","controls")}var ZEc=null;function ZCc(a){ZH("/apis/ajax/playground/get_projects",function(a){a=a.target;ZJ(a)&&(a=ZK(a),a!=ZEc&&(ZDc(a),ZEc=a))},"POST",Zoc({token:a,u:CS_env.loggedInUserEmail},!1))}
|
|
||||||
function ZDc(a){Zzc("playground_projects");Zzc("controls");if(a&&"200"==a.responseStatus&&0<a.numSamples)for(var b=0;b<a.samples.length;b++){var c=a.samples[b];ZS(ZR,c.sampleName,c.sampleLoc,"playground_projects","Playground Projects")}ZFc()};var ZT;(function(){var a=document.getElementById("multilogin-dropdown");a&&(ZT=new ZQ(a,function(){Zwc("/gb/ph/multilogin")}),ZT.ia.push(ZGc),ZA(window,"load",function(){ZGc();document.body.appendChild(ZT.k)}))})();function ZGc(){ZP("/hosting/multilogin",ZHc,{})}
|
|
||||||
function ZHc(a){var b=ZK(a);a=b.sessions;var b=b.active,c=encodeURIComponent(window.location.href);ZT.clear();for(var d=window.location.href.replace(/#.*/,""),e=0;e<a.length;e++){var f=a[e].addr,g=d+(-1==d.indexOf("?")?"?":"&")+"authuser="+a[e].acct+window.location.hash,h=a[e].disabled;b==e?(f=Zu("b",{},f),g=""):h&&(f=Zu("span",{style:"color:gray",title:"This session has been disabled"},f),g="");ZS(ZT,f,g)}ZAc(ZT);ZS(ZT,Zu("nobr",{},"Sign in with another account..."),"http://www.google.com/accounts/AddSession?service=code&continue="+
|
|
||||||
c,"controls")};function ZIc(a){ZP("/hosting/experiments.do",function(){window.location.reload()},{exp:"issuenav redirect",add:a?1:0})}(function(){var a=Zt("ui_optin"),b=Zt("ui_optout");a?ZA(a,"click",function(a){a.preventDefault();ZIc(!0)}):b&&ZA(b,"click",function(a){a.preventDefault();ZIc(!1)})})();
|
|
|
@ -1,337 +0,0 @@
|
||||||
.pmeta_bubble_bg { background: #e5ecf9; margin-bottom: 0.6em;}
|
|
||||||
.pmeta { text-align:left;}
|
|
||||||
.pmeta th, .pmeta td { vertical-align:top; }
|
|
||||||
.pmeta ul { padding:0; margin:0; }
|
|
||||||
.pmeta li { padding: 0 0 2px 0; list-style-type:none; }
|
|
||||||
|
|
||||||
#wikipage {
|
|
||||||
background: #f8f8f8;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikipage #wikimaincol {
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikimaincol {
|
|
||||||
padding: 5px 25px 10px 10px;
|
|
||||||
background-color: #fff;
|
|
||||||
min-width: 64em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikiheader {
|
|
||||||
padding-top: 10px;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent h1, #wikicontent h2, #wikicontent h3,
|
|
||||||
#wikipreview h1, #wikipreview h2, #wikipreview h3 {
|
|
||||||
background: none;
|
|
||||||
border: 0;
|
|
||||||
padding-left:0;
|
|
||||||
max-width: 700px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent h3, #wikipreview h3 {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent ul, #wikipreview ul,
|
|
||||||
#wikicontent ol, #wikipreview ol {
|
|
||||||
padding-left: 25px;
|
|
||||||
max-width: 62em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent li,
|
|
||||||
#wikipreview li {
|
|
||||||
margin-bottom: 0.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent p,
|
|
||||||
#wikipreview p {
|
|
||||||
line-height: 1.25em;
|
|
||||||
max-width: 64em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent hr,
|
|
||||||
#wikipreview hr {
|
|
||||||
width: 100%;
|
|
||||||
color: #ccc;
|
|
||||||
background-color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent img,
|
|
||||||
#wikipreview img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikiauthor {
|
|
||||||
clear: both;
|
|
||||||
text-align: right;
|
|
||||||
font-size: x-small;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wikitable {
|
|
||||||
border-spacing: 0;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gadget-title {
|
|
||||||
margin-bottom: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.section_anchor:before { content: "\00B6" }
|
|
||||||
a.section_anchor { display: none; text-decoration: none; margin-left: .7em; font-weight: lighter; font-size: 85%; }
|
|
||||||
h1:hover a.section_anchor, h2:hover a.section_anchor, h3:hover a.section_anchor,
|
|
||||||
h4:hover a.section_anchor, h5:hover a.section_anchor, h6:hover a.section_anchor { display: inline; color: #bbb; }
|
|
||||||
h1 a.section_anchor:hover, h2 a.section_anchor:hover, h3 a.section_anchor:hover,
|
|
||||||
h4 a.section_anchor:hover, h5 a.section_anchor:hover, h6 a.section_anchor:hover { color: #33c; }
|
|
||||||
|
|
||||||
#wikicontent code, tt, #wikicontent pre,
|
|
||||||
#wikipreview code, tt, #wikipreview pre {
|
|
||||||
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
|
|
||||||
font-size: 93%;
|
|
||||||
max-width: 66em;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.prettyprint {
|
|
||||||
padding: 0.5em;
|
|
||||||
overflow: auto;
|
|
||||||
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
|
|
||||||
font-size: 93%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent pre.prettyprint,
|
|
||||||
#wikipreview pre.prettyprint {
|
|
||||||
background-color: #eee;
|
|
||||||
max-width: 70em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wikicontent blockquote,
|
|
||||||
#wikipreview blockquote {
|
|
||||||
max-width: 60em;
|
|
||||||
}
|
|
||||||
|
|
||||||
blockquote {
|
|
||||||
margin: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.issuedescription pre, .issuecomment pre {
|
|
||||||
white-space: pre-wrap;
|
|
||||||
white-space: -moz-pre-wrap;
|
|
||||||
white-space: -pre-wrap;
|
|
||||||
white-space: -o-pre-wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prettyprint .str { color: #080; }
|
|
||||||
.prettyprint .kwd { color: #008; }
|
|
||||||
.prettyprint .com { color: #800; }
|
|
||||||
.prettyprint .typ { color: #606; }
|
|
||||||
.prettyprint .lit { color: #066; }
|
|
||||||
.prettyprint .pun { color: #660; }
|
|
||||||
.prettyprint .pln { color: #000; }
|
|
||||||
.prettyprint .tag { color: #008; }
|
|
||||||
.prettyprint .atn { color: #606; }
|
|
||||||
.prettyprint .atv { color: #080; }
|
|
||||||
.prettyprint .dec { color: #606; }
|
|
||||||
|
|
||||||
@media print {
|
|
||||||
.prettyprint .str { color: #060; }
|
|
||||||
.prettyprint .kwd { color: #006; font-weight: bold; }
|
|
||||||
.prettyprint .com { color: #600; font-style: italic; }
|
|
||||||
.prettyprint .typ { color: #404; font-weight: bold; }
|
|
||||||
.prettyprint .lit { color: #044; }
|
|
||||||
.prettyprint .pun { color: #440; }
|
|
||||||
.prettyprint .pln { color: #000; }
|
|
||||||
.prettyprint .tag { color: #006; font-weight: bold; }
|
|
||||||
.prettyprint .atn { color: #404; }
|
|
||||||
.prettyprint .atv { color: #060; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.closed_ref { text-decoration: line-through }
|
|
||||||
|
|
||||||
.notes {
|
|
||||||
background: #ffc;
|
|
||||||
border: 1px solid #999;
|
|
||||||
border-width: 0 1px 1px 0;
|
|
||||||
padding: 2px; width: 818px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rowmajor { width: 700px; }
|
|
||||||
.rowmajor th { text-align: right; }
|
|
||||||
.labelediting input { margin: 0 3px 4px 0; }
|
|
||||||
.labelediting input { color: #060; }
|
|
||||||
|
|
||||||
.collapse .ifExpand { display: none }
|
|
||||||
.expand .ifCollapse { display: none }
|
|
||||||
|
|
||||||
.inplace input { width: 100%; }
|
|
||||||
.inplace td { border: 0; }
|
|
||||||
|
|
||||||
#issueheader {
|
|
||||||
margin: 0.5em 0 0em 0;
|
|
||||||
border: 3px solid #e5ecf9;
|
|
||||||
background: #e5ecf9;
|
|
||||||
}
|
|
||||||
#issueheader td { background: #e5ecf9; }
|
|
||||||
|
|
||||||
.closed_colors #issueheader { background: #ddd; border-color: #ddd; }
|
|
||||||
.closed_colors #issueheader td { background: #ddd; }
|
|
||||||
|
|
||||||
.issuepage { margin-top: 0; }
|
|
||||||
.issuepage td { padding: 0.5em .5em .5em 0; }
|
|
||||||
|
|
||||||
.issuecomment {
|
|
||||||
border-top: 3px solid #e5ecf9;
|
|
||||||
padding-top: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.closed_colors .issuecomment { border-color: #ddd; }
|
|
||||||
|
|
||||||
.role_label {
|
|
||||||
background-color: #8ae;
|
|
||||||
border-radius: 3px;
|
|
||||||
color: white;
|
|
||||||
display: inline-block;
|
|
||||||
padding: 2px 4px;
|
|
||||||
font-size: 75%;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.issuedescription pre, .issuecomment pre { max-width:80em; padding-left:.7em;}
|
|
||||||
|
|
||||||
.issuedescription pre b, .issuecomment pre b {
|
|
||||||
font-size: 110%;
|
|
||||||
font-weight: bolder;
|
|
||||||
padding: 3px 0 3px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.author { padding-left: .7em; }
|
|
||||||
|
|
||||||
#issuemeta {
|
|
||||||
width: 12em;
|
|
||||||
border-right: 3px solid #e5ecf9;
|
|
||||||
font-size: 95%;
|
|
||||||
vertical-align: top;
|
|
||||||
}
|
|
||||||
.closed_colors #issuemeta { border-color: #ddd; }
|
|
||||||
|
|
||||||
|
|
||||||
#issuemeta table tr.hover a { text-decoration: underline }
|
|
||||||
#issuemeta table td, #issuemeta table th {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
padding-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rel_issues a { white-space: nowrap;}
|
|
||||||
|
|
||||||
.issue_restrictions {
|
|
||||||
padding: 2px 4px;
|
|
||||||
background-color: #f9edbe;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
min-width: 14em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.issue_restrictions .restrictions_header {
|
|
||||||
padding: 0 0 2px 0;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.issue_restrictions ul {
|
|
||||||
padding: 0 2px;
|
|
||||||
margin: 0;
|
|
||||||
list-style-position: inside;
|
|
||||||
}
|
|
||||||
.issue_restrictions .other_restriction {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.oldvalue {
|
|
||||||
color: #666;
|
|
||||||
font-style: italic;
|
|
||||||
left-margin: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.updates {
|
|
||||||
margin: 1em 0 .5em .7em;
|
|
||||||
background: #e5ecf9;
|
|
||||||
width: 80%;
|
|
||||||
font-size: 90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.closed_colors .updates { background: #c8c8c8; }
|
|
||||||
.fakelink {color: #0000cc; cursor: pointer; white-space: nowrap; text-decoration:underline}
|
|
||||||
.undef { color: #666; }
|
|
||||||
|
|
||||||
table.advquery, table.issueimport { border: 3px solid #e5ecf9;}
|
|
||||||
table.advquery td, table.issueimport td { white-space: nowrap; padding: 2px; }
|
|
||||||
.focus td { background: #e5ecf9; }
|
|
||||||
|
|
||||||
.eg { color: #666; font-size: 90%; }
|
|
||||||
|
|
||||||
#submit { font-weight: bold; }
|
|
||||||
|
|
||||||
div td .novel { color: #430;}
|
|
||||||
div td .blockingsubmit { color: #a03;}
|
|
||||||
|
|
||||||
div td .exclconflict { color: #a03;}
|
|
||||||
div td .questionmark { color: #a03;}
|
|
||||||
|
|
||||||
.delcom { background: #e8e8e8 }
|
|
||||||
|
|
||||||
.numberentry { text-align: right; }
|
|
||||||
|
|
||||||
/* Project Summary Page */
|
|
||||||
.pscolumnl {
|
|
||||||
min-width: 15em;
|
|
||||||
border-right:2px solid #e9e9e9;
|
|
||||||
}
|
|
||||||
.pscontent {
|
|
||||||
width:100%;
|
|
||||||
vertical-align:top;
|
|
||||||
}
|
|
||||||
.psicon {
|
|
||||||
padding-left:5px;
|
|
||||||
padding-top:5px;
|
|
||||||
}
|
|
||||||
.psdescription {
|
|
||||||
padding:0 10px 0 10px !important;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
.pslist {
|
|
||||||
list-style-type: none;
|
|
||||||
padding-left: 34px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
.phead {
|
|
||||||
background-color:#E5EDF9;
|
|
||||||
font-weight:bold;
|
|
||||||
height:15px;
|
|
||||||
margin:5px 5px 4px;
|
|
||||||
padding:3px 6px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.pfeatured {
|
|
||||||
background-color:#ddf8cc;
|
|
||||||
}
|
|
||||||
.psmeta {
|
|
||||||
margin: 0 5px 0 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.psline {
|
|
||||||
height: 1px;
|
|
||||||
border: 0;
|
|
||||||
background-color:#e9e9e9;
|
|
||||||
margin:5px 5px 10px 10px;
|
|
||||||
}
|
|
||||||
.psgap {
|
|
||||||
height: 1em;
|
|
||||||
}
|
|
||||||
.nowrap {
|
|
||||||
white-space:nowrap;
|
|
||||||
}
|
|
||||||
#derived_labels_target .label {font-weight: bold;}
|
|
||||||
#derived_labels_target .label:hover {text-decoration: none;}
|
|
|
@ -1,4 +0,0 @@
|
||||||
var Zcd=!1;function Zdd(){Zcd=!0}function Zed(a){if(null!=a){for(var b=a.nextSibling;b&&"LI"!=b.tagName&&"UL"!=b.tagName;)b=b.nextSibling;if(!b||"LI"==b.tagName)for(b=a.firstChild;b&&"UL"!=b.tagName;)b=b.nextSibling;return b}}function Zfd(a){a.stopPropagation();if(!Zcd){a=a.target;var b=Zed(a);b&&("treeopen"==a.className?(a.className="",b.className=""):(a.className="treeopen",b.className="treeleafcontainer"))}}var Zgd=void 0;
|
|
||||||
function Zhd(a){if(a)for(a=a.firstChild;a;){if("LI"==a.tagName){for(var b=a.firstChild;b&&"A"!=b.tagName;)b=b.nextSibling;b&&"A"==b.tagName&&(ZA(b,"click",Zdd),document.location.href.split("?")[0]==b.href||document.location.href.split("#")[0]==b.href)&&(Zgd=b);(b=Zed(a))?(ZA(a,"click",Zfd),Zhd(b)):a.className="treeleaf"}a=a.nextSibling}}Zhd(Zed(Zt("sidebarcontainer")));
|
|
||||||
if(Zgd){Zgd.className="currentpagelink";for(var Z4=Zgd.parentNode.parentNode;Z4&&"UL"==Z4.tagName;){Z4.className="treeleafcontainer";for(var Z5=Z4.previousSibling;Z5&&"LI"!=Z5.tagName;)Z5=Z5.previousSibling;Z5&&"LI"==Z5.tagName&&(Z5.className="treeopen");Z4=Z4.parentNode}var Zid=Zgd.parentNode;if(!Zid.className){var Zjd=Zed(Zid);Zjd&&(Zid.className="treeopen",Zjd.className="treeleafcontainer")}}
|
|
||||||
_DW_toggleSidebar=function(a){a=Zsc(a);CS_env.token&&ZP(CS_env.projectHomeUrl+"/w/setSidebarPref.do",Zba,{expanded:a?1:0})};function Zkd(a){a=ZK(a);var b=Zt("wikimaincol");b.innerHTML=a.preview_html;prettyPrint();gapi.plusone.go(b)}_DW_syncPreview=function(a){ZP(CS_env.projectHomeUrl+"/w/syncWikiPreviewJSON",Zkd,{content:a})};
|
|
|
@ -1,258 +0,0 @@
|
||||||
(function() {
|
|
||||||
/*
|
|
||||||
Copyright (C) 2006 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
window.PR_SHOULD_USE_CONTINUATION=!0;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=void 0;window.PR=void 0;window.prettyPrintOne=void 0;window.prettyPrint=void 0;window._pr_isIE6=function(){var z=navigator&&navigator.userAgent&&navigator.userAgent.match(/\bMSIE ([678])\./),z=z?+z[1]:!1;window._pr_isIE6=function(){return z};return z};
|
|
||||||
(function(){function z(a){return a.replace(G,"&").replace(H,"<").replace(I,">")}function D(a,b,m){switch(a.nodeType){case 1:var n=a.tagName.toLowerCase();b.push("<",n);var h=a.attributes,r=h.length;if(r){if(m){for(var w=[],f=r;0<=--f;)w[f]=h[f];w.sort(function(a,b){return a.name<b.name?-1:a.name===b.name?0:1});h=w}for(f=0;f<r;++f)w=h[f],w.specified&&b.push(" ",w.name.toLowerCase(),'="',w.value.replace(G,"&").replace(H,"<").replace(I,">").replace(O,"""),'"')}b.push(">");for(h=
|
|
||||||
a.firstChild;h;h=h.nextSibling)D(h,b,m);!a.firstChild&&/^(?:br|link|img)$/.test(n)||b.push("</",n,">");break;case 3:case 4:b.push(z(a.nodeValue))}}function J(a){function b(a){if("\\"!==a.charAt(0))return a.charCodeAt(0);switch(a.charAt(1)){case "b":return 8;case "t":return 9;case "n":return 10;case "v":return 11;case "f":return 12;case "r":return 13;case "u":case "x":return parseInt(a.substring(2),16)||a.charCodeAt(1);case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":return parseInt(a.substring(1),
|
|
||||||
8);default:return a.charCodeAt(1)}}function m(a){if(32>a)return(16>a?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if("\\"===a||"-"===a||"["===a||"]"===a)a="\\"+a;return a}function n(a){var l=a.substring(1,a.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));a=[];for(var c=[],f="^"===l[0],e=f?1:0,p=l.length;e<p;++e){var k=l[e];switch(k){case "\\B":case "\\b":case "\\D":case "\\d":case "\\S":case "\\s":case "\\W":case "\\w":a.push(k);
|
|
||||||
continue}var k=b(k),d;e+2<p&&"-"===l[e+1]?(d=b(l[e+2]),e+=2):d=k;c.push([k,d]);65>d||122<k||(65>d||90<k||c.push([Math.max(65,k)|32,Math.min(d,90)|32]),97>d||122<k||c.push([Math.max(97,k)&-33,Math.min(d,122)&-33]))}c.sort(function(a,c){return a[0]-c[0]||c[1]-a[1]});l=[];k=[NaN,NaN];for(e=0;e<c.length;++e)p=c[e],p[0]<=k[1]+1?k[1]=Math.max(k[1],p[1]):l.push(k=p);c=["["];f&&c.push("^");c.push.apply(c,a);for(e=0;e<l.length;++e)p=l[e],c.push(m(p[0])),p[1]>p[0]&&(p[1]+1>p[0]&&c.push("-"),c.push(m(p[1])));
|
|
||||||
c.push("]");return c.join("")}function h(a){for(var b=a.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),c=b.length,d=[],e=0,f=0;e<c;++e){var k=b[e];"("===k?++f:"\\"===k.charAt(0)&&(k=+k.substring(1))&&k<=f&&(d[k]=-1)}for(e=1;e<d.length;++e)-1===d[e]&&(d[e]=++r);for(f=e=0;e<c;++e)k=b[e],"("===k?(++f,void 0===d[f]&&(b[e]="(?:")):"\\"===k.charAt(0)&&(k=+k.substring(1))&&
|
|
||||||
k<=f&&(b[e]="\\"+d[f]);for(f=e=0;e<c;++e)"^"===b[e]&&"^"!==b[e+1]&&(b[e]="");if(a.ignoreCase&&w)for(e=0;e<c;++e)k=b[e],a=k.charAt(0),2<=k.length&&"["===a?b[e]=n(k):"\\"!==a&&(b[e]=k.replace(/[a-zA-Z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return b.join("")}for(var r=0,w=!1,f=!1,u=0,d=a.length;u<d;++u){var x=a[u];if(x.ignoreCase)f=!0;else if(/[a-z]/i.test(x.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){w=!0;f=!1;break}}for(var t=[],u=0,d=a.length;u<
|
|
||||||
d;++u){x=a[u];if(x.global||x.multiline)throw Error(""+x);t.push("(?:"+h(x)+")")}return new RegExp(t.join("|"),f?"gi":"g")}function P(a){var b=0;return function(m){for(var n=null,h=0,r=0,w=m.length;r<w;++r){var f=m.charAt(r);switch(f){case "\t":n||(n=[]);n.push(m.substring(h,r));h=a-b%a;for(b+=h;0<=h;h-=16)n.push(" ".substring(0,h));h=r+1;break;case "\n":b=0;break;default:++b}}if(!n)return m;n.push(m.substring(h));return n.join("")}}function E(a,b,m,n){b&&(a={source:b,basePos:a},m(a),
|
|
||||||
n.push.apply(n,a.decorations))}function A(a,b){var m={},n;(function(){for(var h=a.concat(b),f=[],r={},d=0,x=h.length;d<x;++d){var t=h[d],v=t[3];if(v)for(var l=v.length;0<=--l;)m[v.charAt(l)]=t;t=t[1];v=""+t;r.hasOwnProperty(v)||(f.push(t),r[v]=null)}f.push(/[\0-\uffff]/);n=J(f)})();var h=b.length,r=function(a){for(var f=a.source,u=a.basePos,d=[u,"pln"],x=0,f=f.match(n)||[],t={},v=0,l=f.length;v<l;++v){var c=f[v],q=t[c],e=void 0,p;if("string"===typeof q)p=!1;else{var k=m[c.charAt(0)];if(k)e=c.match(k[1]),
|
|
||||||
q=k[0];else{for(p=0;p<h;++p)if(k=b[p],e=c.match(k[1])){q=k[0];break}e||(q="pln")}!(p=5<=q.length&&"lang-"===q.substring(0,5))||e&&"string"===typeof e[1]||(p=!1,q="src");p||(t[c]=q)}k=x;x+=c.length;if(p){p=e[1];var B=c.indexOf(p),g=B+p.length;e[2]&&(g=c.length-e[2].length,B=g-p.length);q=q.substring(5);E(u+k,c.substring(0,B),r,d);E(u+k+B,p,L(q,p),d);E(u+k+g,c.substring(g),r,d)}else d.push(u+k,q)}a.decorations=d};return r}function y(a){var b=[],m=[];a.tripleQuotedStrings?b.push(["str",/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
|
|
||||||
null,"'\""]):a.multiLineStrings?b.push(["str",/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):b.push(["str",/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]);a.verbatimStrings&&m.push(["str",/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var n=a.hashComments;n&&(a.cStyleComments?(1<n?b.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):b.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
|
|
||||||
null,"#"]),m.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])):b.push(["com",/^#[^\r\n]*/,null,"#"]));a.cStyleComments&&(m.push(["com",/^\/\/[^\r\n]*/,null]),m.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/,null]));a.regexLiterals&&m.push(["lang-regex",new RegExp("^"+Q+"(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)")]);a=a.keywords.replace(/^\s+|\s+$/g,"");a.length&&m.push(["kwd",new RegExp("^(?:"+a.replace(/\s+/g,"|")+
|
|
||||||
")\\b"),null]);b.push(["pln",/^\s+/,null," \r\n\t\u00a0"]);m.push(["lit",/^@[a-z_$][a-z_$@0-9]*/i,null],["typ",/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,null],["pln",/^[a-z_$][a-z_$@0-9]*/i,null],["lit",/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],["pun",/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);return A(b,m)}function R(a){function b(a){if(a>u){d&&d!==x&&(f.push("</span>"),d=null);!d&&x&&(d=x,f.push('<span class="',d,'">'));var b=z(l(m.substring(u,a))).replace(k?q:
|
|
||||||
c,"$1 ");k=p.test(b);f.push(b.replace(e,y));u=a}}var m=a.source,n=a.extractedTags,h=a.decorations,r=a.numberLines,w=a.sourceNode,f=[],u=0,d=null,x=null,t=0,v=0,l=P(window.PR_TAB_WIDTH),c=/([\r\n ]) /g,q=/(^| ) /gm,e=/\r\n?|\n/g,p=/[ \r\n]$/,k=!0,g=window._pr_isIE6(),w=g?w&&"PRE"===w.tagName?6===g?" \r\n":7===g?" <br />\r":8===g?" <br />":" \r":" <br />":"<br />",y;if(r){for(var K=[],g=0;10>g;++g)K[g]=w+'</li><li class="L'+g+'">';var A="number"===typeof r?r-1:0;f.push('<ol class="linenums"><li class="L',
|
|
||||||
A%10,'"');A&&f.push(' value="',A+1,'"');f.push(">");y=function(){var a=K[++A%10];return d?"</span>"+a+'<span class="'+d+'">':a}}else y=w;for(;;)if(w=t<n.length?v<h.length?n[t]<=h[v]:!0:!1)b(n[t]),d&&(f.push("</span>"),d=null),f.push(n[t+1]),t+=2;else if(v<h.length)b(h[v]),x=h[v+1],v+=2;else break;b(m.length);d&&f.push("</span>");r&&f.push("</li></ol>");a.prettyPrintedHtml=f.join("")}function g(a,b){for(var m=b.length;0<=--m;){var n=b[m];C.hasOwnProperty(n)?"console"in window&&console.warn("cannot override language handler %s",
|
|
||||||
n):C[n]=a}}function L(a,b){a&&C.hasOwnProperty(a)||(a=/^\s*</.test(b)?"default-markup":"default-code");return C[a]}function M(a){var b=a.sourceCodeHtml,m=a.langExtension;a.prettyPrintedHtml=b;try{var n,h=b.match(S),b=[],r=0,g=[];if(h)for(var f=0,u=h.length;f<u;++f){var d=h[f];if(1<d.length&&"<"===d.charAt(0)){if(!T.test(d))if(U.test(d))b.push(d.substring(9,d.length-3)),r+=d.length-12;else if(V.test(d))b.push("\n"),++r;else if(0<=d.indexOf("nocode")&&d.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
|
|
||||||
' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)){var x=d.match(N)[2],t=1,v;v=f+1;a:for(;v<u;++v){var l=h[v].match(N);if(l&&l[2]===x)if("/"===l[1]){if(0===--t)break a}else++t}v<u?(g.push(r,h.slice(f,v+1).join("")),f=v):g.push(r,d)}else g.push(r,d)}else{var c;var t=d,q=t.indexOf("&");if(0>q)c=t;else{for(--q;0<=(q=t.indexOf("&#",q+1));){var e=t.indexOf(";",q);if(0<=e){var p=t.substring(q+3,e),k=10;p&&"x"===p.charAt(0)&&(p=p.substring(1),k=16);var y=parseInt(p,k);isNaN(y)||(t=t.substring(0,
|
|
||||||
q)+String.fromCharCode(y)+t.substring(e+1))}}c=t.replace(W,"<").replace(X,">").replace(Y,"'").replace(Z,'"').replace(aa," ").replace(ba,"&")}b.push(c);r+=c.length}}n={source:b.join(""),tags:g};var A=n.source;a.source=A;a.basePos=0;a.extractedTags=n.tags;L(m,A)(a);R(a)}catch(z){"console"in window&&console.log(z&&z.stack?z.stack:z)}}function ca(a,b,m){a={sourceCodeHtml:a,langExtension:b,numberLines:m};M(a);return a.prettyPrintedHtml}function da(a){function b(){for(var m=window.PR_SHOULD_USE_CONTINUATION?
|
|
||||||
f.now()+250:Infinity;u<n.length&&f.now()<m;u++){var h=n[u];if(h.className&&0<=h.className.indexOf("prettyprint")){var g=h.className.match(/\blang-(\w+)\b/);g&&(g=g[1]);for(var l=!1,c=h.parentNode;c;c=c.parentNode)if(("pre"===c.tagName||"code"===c.tagName||"xmp"===c.tagName)&&c.className&&0<=c.className.indexOf("prettyprint")){l=!0;break}if(!l){c=h;null===F&&(l=document.createElement("PRE"),l.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />')),F=!/</.test(l.innerHTML));
|
|
||||||
if(F)if(l=c.innerHTML,"XMP"===c.tagName)l=z(l);else{if("PRE"!==c.tagName&&ea.test(l)){var q="";c.currentStyle?q=c.currentStyle.whiteSpace:window.getComputedStyle&&(q=window.getComputedStyle(c,null).whiteSpace);c=!q||"pre"===q}else c=!0;c||(l=l.replace(/(<br\s*\/?>)[\r\n]+/g,"$1").replace(/(?:[\r\n]+[ \t]*)+/g," "))}else{l=[];for(c=c.firstChild;c;c=c.nextSibling)D(c,l);l=l.join("")}l=l.replace(/(?:\r\n?|\n)$/,"");c=h.className.match(/\blinenums\b(?::(\d+))?/);d={sourceCodeHtml:l,langExtension:g,sourceNode:h,
|
|
||||||
numberLines:c?c[1]&&c[1].length?+c[1]:!0:!1};M(d);if(h=d.prettyPrintedHtml)if(g=d.sourceNode,"XMP"===g.tagName){l=document.createElement("PRE");for(c=0;c<g.attributes.length;++c)if(q=g.attributes[c],q.specified){var e=q.name.toLowerCase();"class"===e?l.className=q.value:l.setAttribute(q.name,q.value)}l.innerHTML=h;g.parentNode.replaceChild(l,g)}else g.innerHTML=h}}}u<n.length?setTimeout(b,250):a&&a()}for(var m=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],
|
|
||||||
n=[],h=0;h<m.length;++h)for(var g=0,w=m[h].length;g<w;++g)n.push(m[h][g]);var m=null,f=Date;f.now||(f={now:function(){return(new Date).getTime()}});var u=0,d;b()}var Q=function(){for(var a="! != !== # % %= & && &&= &= ( * *= += , -= -> / /= : :: ; < << <<= <= = == === > >= >> >>= >>> >>>= ? @ [ ^ ^= ^^ ^^= { | |= || ||= ~ break case continue delete do else finally instanceof return throw try typeof".split(" "),b="(?:^^|[+-]",g=0;g<a.length;++g)b+="|"+a[g].replace(/([^=<>:&a-z])/g,"\\$1");return b+=
|
|
||||||
")\\s*"}(),G=/&/g,H=/</g,I=/>/g,O=/\"/g,W=/</g,X=/>/g,Y=/'/g,Z=/"/g,ba=/&/g,aa=/ /g,ea=/[\r\n]/g,F=null,S=RegExp("[^<]+|\x3c!--[\\s\\S]*?--\x3e|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|</?[a-zA-Z](?:[^>\"']|'[^']*'|\"[^\"]*\")*>|<","g"),T=/^<\!--/,U=/^<!\[CDATA\[/,V=/^<br\b/i,N=/^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/,fa=y({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending dynamic event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END break continue do else for if return while case done elif esac eval fi function in local set then until ",
|
|
||||||
hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),C={};g(fa,["default-code"]);g(A([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),"default-markup htm html mxml xhtml xml xsl".split(" "));
|
|
||||||
g(A([["pln",/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],["pun",/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),
|
|
||||||
["in.tag"]);g(A([],[["atv",/^[\s\S]+/]]),["uq.val"]);g(y({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename using virtual wchar_t where ",
|
|
||||||
hashComments:!0,cStyleComments:!0}),"c cc cpp cxx cyc m".split(" "));g(y({keywords:"null true false"}),["json"]);g(y({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending dynamic event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ",
|
|
||||||
hashComments:!0,cStyleComments:!0,verbatimStrings:!0}),["cs"]);g(y({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof abstract boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",
|
|
||||||
cStyleComments:!0}),["java"]);g(y({keywords:"break continue do else for if return while case done elif esac eval fi function in local set then until ",hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);g(y({keywords:"break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]);g(y({keywords:"caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",
|
|
||||||
hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);g(y({keywords:"break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);g(y({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try typeof debugger eval export function get null set undefined var with Infinity NaN ",
|
|
||||||
cStyleComments:!0,regexLiterals:!0}),["js"]);g(y({keywords:"all and by catch class else extends false finally for if in is isnt loop new no not null of off on or return super then true try unless until when while yes ",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);g(A([],[["str",/^[\s\S]+/]]),["regex"]);window.PR_normalizedHtml=D;window.prettyPrintOne=ca;window.prettyPrint=da;window.PR={combinePrefixPatterns:J,createSimpleLexer:A,registerLangHandler:g,
|
|
||||||
sourceDecorator:y,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();/*
|
|
||||||
Copyright (C) 2009 Onno Hommes.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_COMMENT,/^#[^\r\n]*/,null,"#"],[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_STRING,/^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/,null,'"']],[[PR.PR_KEYWORD,/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,
|
|
||||||
null],[PR.PR_TYPE,/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[SE]?BANK\=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],[PR.PR_LITERAL,/^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],[PR.PR_PLAIN,/^-*(?:[!-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0()\"\\\';]+/]]),["apollo","agc","aea"]);/*
|
|
||||||
Copyright (C) 2011 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[\(\{\[]+/,null,"([{"],["clo",/^[\)\}\]]+/,null,")]}"],[PR.PR_COMMENT,/^;[^\r\n]*/,null,";"],[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_STRING,/^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/,null,'"']],[[PR.PR_KEYWORD,/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,
|
|
||||||
null],[PR.PR_TYPE,/^:[0-9a-zA-Z\-]+/]]),["clj"]);/*
|
|
||||||
Copyright (C) 2009 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
|
|
||||||
[PR.PR_COMMENT,/^(?:\x3c!--|--\x3e)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);/*
|
|
||||||
Copyright (C) 2010 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_PLAIN,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])+(?:\'|$))/,null,"\"'"]],[[PR.PR_COMMENT,/^(?:\/\/[^\r\n]*|\/\*[\s\S]*?\*\/)/],[PR.PR_PLAIN,/^(?:[^\/\"\']|\/(?![\/\*]))+/i]]),["go"]);/*
|
|
||||||
Copyright (C) 2009 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\x0B\x0C\r ]+/,null,"\t\n\x0B\f\r "],[PR.PR_STRING,/^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,null,'"'],[PR.PR_STRING,/^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/,null,"'"],[PR.PR_LITERAL,/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,null,"0123456789"]],[[PR.PR_COMMENT,/^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/],[PR.PR_KEYWORD,/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/,
|
|
||||||
null],[PR.PR_PLAIN,/^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/],[PR.PR_PUNCTUATION,/^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/]]),["hs"]);/*
|
|
||||||
Copyright (C) 2008 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,null,"("],["clo",/^\)+/,null,")"],[PR.PR_COMMENT,/^;[^\r\n]*/,null,";"],[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_STRING,/^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/,null,'"']],[[PR.PR_KEYWORD,/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,
|
|
||||||
null],[PR.PR_LITERAL,/^[+\-]?(?:[0#]x[0-9a-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[ed][+\-]?\d+)?)/i],[PR.PR_LITERAL,/^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],[PR.PR_PLAIN,/^-*(?:[a-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0()\"\\\';]+/]]),["cl","el","lisp","scm"]);/*
|
|
||||||
Copyright (C) 2008 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,"\"'"]],[[PR.PR_COMMENT,/^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],[PR.PR_STRING,/^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],[PR.PR_KEYWORD,/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],
|
|
||||||
[PR.PR_PLAIN,/^[a-z_]\w*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\'\-\+=]*/]]),["lua"]);/*
|
|
||||||
Copyright (C) 2008 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_COMMENT,/^#(?:if[\t\n\r \xA0]+(?:[a-z_$][\w\']*|``[^\r\n\t`]*(?:``|$))|else|endif|light)/i,null,"#"],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])(?:\'|$))/,null,"\"'"]],[[PR.PR_COMMENT,/^(?:\/\/[^\r\n]*|\(\*[\s\S]*?\*\))/],[PR.PR_KEYWORD,/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],
|
|
||||||
[PR.PR_LITERAL,/^[+\-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^(?:[a-z_][\w']*[!?#]?|``[^\r\n\t`]*(?:``|$))/i],[PR.PR_PUNCTUATION,/^[^\t\n\r \xA0\"\'\w]+/]]),["fs","ml"]);/*
|
|
||||||
Copyright (C) 2006 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.sourceDecorator({keywords:"bool bytes default double enum extend extensions false fixed32 fixed64 float group import int32 int64 max message option optional package repeated required returns rpc service sfixed32 sfixed64 sint32 sint64 string syntax to true uint32 uint64",cStyleComments:!0}),["proto"]);/*
|
|
||||||
Copyright (C) 2010 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_STRING,/^(?:"(?:(?:""(?:""?(?!")|[^\\"]|\\.)*"{0,3})|(?:[^"\r\n\\]|\\.)*"?))/,null,'"'],[PR.PR_LITERAL,/^`(?:[^\r\n\\`]|\\.)*`?/,null,"`"],[PR.PR_PUNCTUATION,/^[!#%&()*+,\-:;<=>?@\[\\\]^{|}~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[[PR.PR_STRING,/^'(?:[^\r\n\\']|\\(?:'|[^\r\n']+))'/],[PR.PR_LITERAL,/^'[a-zA-Z_$][\w$]*(?!['$\w])/],[PR.PR_KEYWORD,/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/],
|
|
||||||
[PR.PR_LITERAL,/^(?:true|false|null|this)\b/],[PR.PR_LITERAL,/^(?:(?:0(?:[0-7]+|X[0-9A-F]+))L?|(?:(?:0|[1-9][0-9]*)(?:(?:\.[0-9]+)?(?:E[+\-]?[0-9]+)?F?|L?))|\\.[0-9]+(?:E[+\-]?[0-9]+)?F?)/i],[PR.PR_TYPE,/^[$_]*[A-Z][_$A-Z0-9]*[a-z][\w$]*/],[PR.PR_PLAIN,/^[$a-zA-Z_][\w$]*/],[PR.PR_COMMENT,/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],[PR.PR_PUNCTUATION,/^(?:\.+|\/)/]]),["scala"]);/*
|
|
||||||
Copyright (C) 2008 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"],[PR.PR_STRING,/^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/,null,"\"'"]],[[PR.PR_COMMENT,/^(?:--[^\r\n]*|\/\*[\s\S]*?(?:\*\/|$))/],[PR.PR_KEYWORD,/^(?:ADD|ALL|ALTER|AND|ANY|AS|ASC|AUTHORIZATION|BACKUP|BEGIN|BETWEEN|BREAK|BROWSE|BULK|BY|CASCADE|CASE|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COMMIT|COMPUTE|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|DATABASE|DBCC|DEALLOCATE|DECLARE|DEFAULT|DELETE|DENY|DESC|DISK|DISTINCT|DISTRIBUTED|DOUBLE|DROP|DUMMY|DUMP|ELSE|END|ERRLVL|ESCAPE|EXCEPT|EXEC|EXECUTE|EXISTS|EXIT|FETCH|FILE|FILLFACTOR|FOR|FOREIGN|FREETEXT|FREETEXTTABLE|FROM|FULL|FUNCTION|GOTO|GRANT|GROUP|HAVING|HOLDLOCK|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IN|INDEX|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KILL|LEFT|LIKE|LINENO|LOAD|NATIONAL|NOCHECK|NONCLUSTERED|NOT|NULL|NULLIF|OF|OFF|OFFSETS|ON|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|OPTION|OR|ORDER|OUTER|OVER|PERCENT|PLAN|PRECISION|PRIMARY|PRINT|PROC|PROCEDURE|PUBLIC|RAISERROR|READ|READTEXT|RECONFIGURE|REFERENCES|REPLICATION|RESTORE|RESTRICT|RETURN|REVOKE|RIGHT|ROLLBACK|ROWCOUNT|ROWGUIDCOL|RULE|SAVE|SCHEMA|SELECT|SESSION_USER|SET|SETUSER|SHUTDOWN|SOME|STATISTICS|SYSTEM_USER|TABLE|TEXTSIZE|THEN|TO|TOP|TRAN|TRANSACTION|TRIGGER|TRUNCATE|TSEQUAL|UNION|UNIQUE|UPDATE|UPDATETEXT|USE|USER|VALUES|VARYING|VIEW|WAITFOR|WHEN|WHERE|WHILE|WITH|WRITETEXT)(?=[^\w-]|$)/i,
|
|
||||||
null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^[a-z_][\w-]*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0\"\'][^\w\t\n\r \xA0+\-\"\']*/]]),["sql"]);/*
|
|
||||||
Copyright (C) 2009 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0\u2028\u2029]+/,null,"\t\n\r \u00a0\u2028\u2029"],[PR.PR_STRING,/^(?:[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})(?:[\"\u201C\u201D]c|$)|[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})*(?:[\"\u201C\u201D]|$))/i,null,'"\u201c\u201d'],[PR.PR_COMMENT,/^[\'\u2018\u2019][^\r\n\u2028\u2029]*/,null,"'\u2018\u2019"]],[[PR.PR_KEYWORD,/^(?:AddHandler|AddressOf|Alias|And|AndAlso|Ansi|As|Assembly|Auto|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|Class|CLng|CObj|Const|CShort|CSng|CStr|CType|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get|GetType|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|Let|Lib|Like|Long|Loop|Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|New|Next|Not|NotInheritable|NotOverridable|Object|On|Option|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Preserve|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TypeOf|Unicode|Until|Variant|Wend|When|While|With|WithEvents|WriteOnly|Xor|EndIf|GoSub|Let|Variant|Wend)\b/i,
|
|
||||||
null],[PR.PR_COMMENT,/^REM[^\r\n\u2028\u2029]*/i],[PR.PR_LITERAL,/^(?:True\b|False\b|Nothing\b|\d+(?:E[+\-]?\d+[FRD]?|[FRDSIL])?|(?:&H[0-9A-F]+|&O[0-7]+)[SIL]?|\d*\.\d+(?:E[+\-]?\d+)?[FRD]?|#\s+(?:\d+[\-\/]\d+[\-\/]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)?|\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)\s+#)/i],[PR.PR_PLAIN,/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*\])/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \"\'\[\]\xA0\u2018\u2019\u201C\u201D\u2028\u2029]+/],[PR.PR_PUNCTUATION,/^(?:\[|\])/]]),["vb","vbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,"\t\n\r \u00a0"]],[[PR.PR_STRING,/^(?:[BOX]?"(?:[^\"]|"")*"|'.')/i],[PR.PR_COMMENT,/^--[^\r\n]*/],[PR.PR_KEYWORD,/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i,
|
|
||||||
null],[PR.PR_TYPE,/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],[PR.PR_TYPE,/^\'(?:ACTIVE|ASCENDING|BASE|DELAYED|DRIVING|DRIVING_VALUE|EVENT|HIGH|IMAGE|INSTANCE_NAME|LAST_ACTIVE|LAST_EVENT|LAST_VALUE|LEFT|LEFTOF|LENGTH|LOW|PATH_NAME|POS|PRED|QUIET|RANGE|REVERSE_RANGE|RIGHT|RIGHTOF|SIMPLE_NAME|STABLE|SUCC|TRANSACTION|VAL|VALUE)(?=[^\w-]|$)/i,null],[PR.PR_LITERAL,/^\d+(?:_\d+)*(?:#[\w\\.]+#(?:[+\-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:E[+\-]?\d+(?:_\d+)*)?)/i],
|
|
||||||
[PR.PR_PLAIN,/^(?:[a-z]\w*|\\[^\\]*\\)/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0\"\'][^\w\t\n\r \xA0\-\"\']*/]]),["vhdl","vhd"]);/*
|
|
||||||
Copyright (C) 2009 Google Inc.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t \xA0a-gi-z0-9]+/,null,"\t \u00a0abcdefgijklmnopqrstuvwxyz0123456789"],[PR.PR_PUNCTUATION,/^[=*~\^\[\]]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],[PR.PR_LITERAL,/^(?:[A-Z][a-z][a-z0-9]+[A-Z][a-z][a-zA-Z0-9]+)\b/],["lang-",/^\{\{\{([\s\S]+?)\}\}\}/],["lang-",/^`([^\r\n`]+)`/],[PR.PR_STRING,/^https?:\/\/[^\/?#\s]*(?:\/[^?#\s]*)?(?:\?[^#\s]*)?(?:#\S*)?/i],[PR.PR_PLAIN,/^(?:\r\n|[\s\S])[^#=*~^A-Zh\{`\[\r\n]*/]]),["wiki"]);
|
|
||||||
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_KEYWORD,/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PUNCTUATION,/^[:|>?]+/,null,":|>?"],[PR.PR_DECLARATION,/^%(?:YAML|TAG)[^#\r\n]+/,null,"%"],[PR.PR_TYPE,/^[&]\S+/,null,"&"],[PR.PR_TYPE,/^!\S*/,null,"!"],[PR.PR_STRING,/^"(?:[^\\"]|\\.)*(?:"|$)/,null,'"'],[PR.PR_STRING,/^'(?:[^']|'')*(?:'|$)/,null,"'"],[PR.PR_COMMENT,/^#[^\r\n]*/,null,"#"],[PR.PR_PLAIN,/^\s+/,null," \t\r\n"]],[[PR.PR_DECLARATION,/^(?:---|\.\.\.)(?:[\r\n]|$)/],[PR.PR_PUNCTUATION,/^-/],[PR.PR_KEYWORD,/^\w+:[ \r\n]/],[PR.PR_PLAIN,/^\w+/]]),
|
|
||||||
["yaml","yml"]);
|
|
||||||
})();
|
|
Before Width: | Height: | Size: 179 B |
Before Width: | Height: | Size: 2.6 KiB |
|
@ -1,347 +0,0 @@
|
||||||
# Darwin Core Text Guide
|
|
||||||
|
|
||||||
Title
|
|
||||||
: Darwin Core Text Guide
|
|
||||||
|
|
||||||
Date Issued
|
|
||||||
: 2009-02-12
|
|
||||||
|
|
||||||
Date Modified
|
|
||||||
: 2015-06-02
|
|
||||||
|
|
||||||
Abstract
|
|
||||||
: Guidelines for implementing Darwin Core in Text files.
|
|
||||||
|
|
||||||
Contributors
|
|
||||||
: Tim Robertson (GBIF), Markus Döring (GBIF), John Wieczorek (MVZ), Renato De Giovanni (CRIA), Dave Vieglais (KUNHM)
|
|
||||||
|
|
||||||
Legal
|
|
||||||
: This document is governed by the standard legal, copyright, licensing provisions and disclaimers issued by the Taxonomic Databases Working Group.
|
|
||||||
|
|
||||||
Part of TDWG Standard
|
|
||||||
: <http://www.tdwg.org/standards/450/>
|
|
||||||
|
|
||||||
Creator
|
|
||||||
: Darwin Core Task Group
|
|
||||||
|
|
||||||
Identifier
|
|
||||||
: <http://rs.tdwg.org/dwc/2014-11-08/terms/guides/text/>
|
|
||||||
|
|
||||||
Latest Version
|
|
||||||
: <http://rs.tdwg.org/dwc/terms/guides/text/>
|
|
||||||
|
|
||||||
Replaces
|
|
||||||
: <http://rs.tdwg.org/dwc/2009-12-07/terms/guides/text/>
|
|
||||||
|
|
||||||
Document Status
|
|
||||||
: Current Standard
|
|
||||||
|
|
||||||
## 1. Introduction
|
|
||||||
|
|
||||||
This document provides guidelines for formatting and sharing Darwin Core terms [[TERMS](../../terms/index.html)] in _fielded text_ formats, such as one or more comma separated value (CSV) files. Data conforming to the Simple Darwin Core [[SIMPLEDWC](../../simple_dwc.html)] (CSV format and having the first row include Darwin Core standard term names) can be shared in a single file, while a non-standard text file can be understood using an [[XML](http://www.w3.org/XML/)] metafile to describe its contents and formatting.
|
|
||||||
|
|
||||||
![Usage](images/usage.png)
|
|
||||||
|
|
||||||
More complex structure can be shared in multiple related files. The description of content and relationships between files can be achieved using the metafile. This guideline makes recommendations for the simple case of a _core_ file, upon which Darwin Core _records_ are based, and _extensions_ that are linked to records in that core file. Specifically, extension records have a _many-to-one_ relationship with records in the core file. For example, a core file might contain specimen records, with one specimen per row in the file, while an extension file contains one or more identifications for those specimens, with one identification per row in the extension file, and with an identifier to the specimen for each identification row. This example would allow many identifications to be associated with each specimen.
|
|
||||||
|
|
||||||
### 1.1 Simple example metafile content
|
|
||||||
|
|
||||||
A simple comma separated values (CSV) data file with the following content:
|
|
||||||
|
|
||||||
```
|
|
||||||
ID,Species,Count
|
|
||||||
123,"Cryptantha gypsophila Reveal & C.R. Broome",12
|
|
||||||
124,"Buxbaumia piperi",2
|
|
||||||
```
|
|
||||||
|
|
||||||
can be described with the following Darwin Core metafile:
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<archive xmlns="http://rs.tdwg.org/dwc/text/"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
||||||
xsi:schemaLocation="http://rs.tdwg.org/dwc/text/ http://rs.tdwg.org/dwc/text/tdwg_dwc_text.xsd">
|
|
||||||
<core rowType="http://rs.tdwg.org/dwc/xsd/simpledarwincore/SimpleDarwinRecord" ignoreHeaderLines="1">
|
|
||||||
<files>
|
|
||||||
<location>http://data.gbif.org/download/specimens.csv</location>
|
|
||||||
</files>
|
|
||||||
<field index="0" term="http://rs.tdwg.org/dwc/terms/catalogNumber" />
|
|
||||||
<field index="1" term="http://rs.tdwg.org/dwc/terms/scientificName" />
|
|
||||||
<field index="2" term="http://rs.tdwg.org/dwc/terms/individualCount" />
|
|
||||||
<!-- A constant value has no index, but applies to all rows -->
|
|
||||||
<field term="http://rs.tdwg.org/dwc/terms/datasetID" default="urn:lsid:tim.lsid.tdwg.org:collections:1"/>
|
|
||||||
</core>
|
|
||||||
</archive>
|
|
||||||
```
|
|
||||||
|
|
||||||
These same data could be understood without the metafile if the first row of the CSV file contained the term names:
|
|
||||||
|
|
||||||
```
|
|
||||||
type,institutionCode,collectionCode,catalogNumber,scientificName,individualCount,datasetID
|
|
||||||
PhysicalObject,ANSP,PH,123,"Cryptantha gypsophila Reveal & C.R. Broome",12,urn:lsid:tim.lsid.tdwg.org:collections:1
|
|
||||||
PhysicalObject,ANSP,PH,124,"Buxbaumia piperi",2,urn:lsid:tim.lsid.tdwg.org:collections:1
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1.2 XML versus _fielded text_
|
|
||||||
|
|
||||||
Many resources exist on the web describing the advantages of Extensible Markup Language [[XML](http://www.w3.org/XML/)] over less structured content such as _fielded text_. The Darwin Core Text Guide (this document) is not meant to promote the use of _fielded text_ over XML for data exchange, but rather to provide recommendations for how to handle such data files when necessary.
|
|
||||||
|
|
||||||
Two scenarios that might benefit from the use of _fielded text_ are:
|
|
||||||
|
|
||||||
* The transfer of large numbers of Darwin Core records and related data from one database to another. Typically databases are very efficient at exporting and importing comma separated text files.
|
|
||||||
* The description of legacy data existing in a _fielded text_ format, such that it might be automatically understood and loaded into another system. It could be that this system would then serve the data in another format such as XML.
|
|
||||||
|
|
||||||
## 2. Metafile Content
|
|
||||||
|
|
||||||
The text metafile schema [[TEXTSCHEMA](tdwg_dwc_text.xsd)] provides technical details for the structure of a metafile by defining the elements and attributes required to describe the contents and relationships between text files. These elements and attributes, with descriptions and specifications for their use in a metafile, are described in the following table.
|
|
||||||
|
|
||||||
### 2.1 The `<archive>` element
|
|
||||||
|
|
||||||
The `<archive>` element is the container for the list of related files (one core and zero or more extensions). The `<archive>` element has just one attribute, `metadata`.
|
|
||||||
|
|
||||||
#### `metadata` attribute
|
|
||||||
|
|
||||||
Contains a qualified Uniform Resource Locator (URL) defining the location of a metadata description of the entire archive. The format of the metadata is not prescribed, but a standardized format such as Ecological Metadata Language (EML), Federal Geographic Data Committee (FGDC), or ISO 19115 family is recommended.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**: metadata.xml
|
|
||||||
|
|
||||||
#### `<core>` subelement
|
|
||||||
|
|
||||||
An `<archive>` must contain exactly one `<core>` element, representing the data entity (the actual file and its column header mappings to Darwin Core terms) upon which records are based.
|
|
||||||
|
|
||||||
If extensions are being used, each record in the core data must have a unique identifier. The field for this identifier must be specified in an explicit `<id>` field in order to associate extension records with the core record.
|
|
||||||
|
|
||||||
#### `<extension>` subelement
|
|
||||||
|
|
||||||
An `<archive>` may define zero or more `<extension>` elements, each representing an individual extension entity directly related to the core. In addition to the general file attributes described below, every extension entity must have an explicit `<coreId>` field to relate the extension record to a row in the core entity. The extension itself does not have to have a unique ID field and many rows can point to the same core record.
|
|
||||||
|
|
||||||
### 2.2 The `<core>` or `<extension>` element
|
|
||||||
|
|
||||||
#### `rowType` attribute
|
|
||||||
|
|
||||||
A Unified Resource Identifier (URI) for the term identifying the class of data represented by each row, for example, http://rs.tdwg.org/dwc/terms/Occurrence for Occurrence records or http://rs.tdwg.org/dwc/terms/Taxon for Taxon records. Additional classes may be referenced by URI and defined outside the Darwin Core specification. The row type is required. For convenience the URIs for classes defined by the Darwin Core are listed below:
|
|
||||||
|
|
||||||
Occurrence
|
|
||||||
: http://rs.tdwg.org/dwc/terms/Occurrence
|
|
||||||
|
|
||||||
Event
|
|
||||||
: http://rs.tdwg.org/dwc/terms/Event
|
|
||||||
|
|
||||||
Location
|
|
||||||
: http://purl.org/dc/terms/Location
|
|
||||||
|
|
||||||
GeologicalContext
|
|
||||||
: http://purl.org/dc/terms/GeologicalContext
|
|
||||||
|
|
||||||
Identification
|
|
||||||
: http://rs.tdwg.org/dwc/terms/Identification
|
|
||||||
|
|
||||||
Taxon
|
|
||||||
: http://rs.tdwg.org/dwc/terms/Taxon
|
|
||||||
|
|
||||||
ResourceRelationship
|
|
||||||
: http://rs.tdwg.org/dwc/terms/ResourceRelationship
|
|
||||||
|
|
||||||
MeasurementOrFact
|
|
||||||
: http://rs.tdwg.org/dwc/terms/MeasurementOrFact
|
|
||||||
|
|
||||||
* **Required**: yes
|
|
||||||
|
|
||||||
#### `fieldsTerminatedBy` attribute
|
|
||||||
|
|
||||||
Specifies the delimiter between fields. Typical values might be `,` or `\t` for CSV or Tab files respectively.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**: `,`
|
|
||||||
|
|
||||||
#### `linesTerminatedBy` attribute
|
|
||||||
|
|
||||||
Specifies the row separator character.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**: `\n`
|
|
||||||
|
|
||||||
#### `fieldsEnclosedBy` attribute
|
|
||||||
|
|
||||||
Specifies the character used to enclose (mark the start and end of) each field. CSV files frequently use the double quote character (`"`), but the default is no enclosing character. Note that a comma separated value file that has commas within the content of any field must have an enclosing character.</td>
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**: `"`
|
|
||||||
|
|
||||||
#### `encoding` attribute
|
|
||||||
|
|
||||||
Specifies the [character encoding](http://en.wikipedia.org/wiki/Character_encoding) for the data file. The encoding is extremely important, but often ignored. The most frequently used encodings are:
|
|
||||||
|
|
||||||
UTF-8
|
|
||||||
: 8-bit Unicode Transformation Format.
|
|
||||||
|
|
||||||
UTF-16
|
|
||||||
: 16-bit Unicode Transformation Format.
|
|
||||||
|
|
||||||
ISO-8859-1
|
|
||||||
: Commonly known as Latin-1 and a common default on systems configured for a single western European language.
|
|
||||||
|
|
||||||
Windows-1252
|
|
||||||
: Commonly known as WinLatin and a common default of legacy versions of Microsoft Windows based operating systems.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**: `UTF-8`
|
|
||||||
|
|
||||||
#### `ignoreHeaderLines` attribute
|
|
||||||
|
|
||||||
Specifies the number lines to ignore from the beginning of the file. This can be used to ignore files with column headings or preamble comments for example.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**: `0`
|
|
||||||
|
|
||||||
#### `dateFormat` attribute
|
|
||||||
|
|
||||||
When verbatim dates are consistent in format, this field can be used to indicate the format represented. It is recommended to use the date, dateTime and time for field formats wherever possible, but where verbatim dates are required, a format may be specified here. This should be considered a 'hint' for consumers. It is recommended that consumers support the minimum combinations of `DD` `MM` and `YYYY` with the separators `/` and `-`. Examples:
|
|
||||||
|
|
||||||
DDMMYYYY
|
|
||||||
: For dates of the form 21121978
|
|
||||||
|
|
||||||
DD-MM-YYYY
|
|
||||||
: For dates of the form 21-12-1978
|
|
||||||
|
|
||||||
MMDDYYYY
|
|
||||||
: For dates of the form 12211978
|
|
||||||
|
|
||||||
MM-DD-YYYY
|
|
||||||
: For dates of the form 12-21-1978
|
|
||||||
|
|
||||||
YYYYMMDD
|
|
||||||
: For dates of the form 19781221
|
|
||||||
|
|
||||||
#### `<files>` subelement
|
|
||||||
|
|
||||||
`<core>` or `<extension>` element must contain one `<files>` element to locate the data being described.
|
|
||||||
|
|
||||||
#### `<id>` subelement
|
|
||||||
|
|
||||||
If extensions are being used, the `<core>` must contain an <id> element that indicates the identifier for a record.
|
|
||||||
|
|
||||||
#### `<coreId>` subelement
|
|
||||||
|
|
||||||
If extensions are being used, the `<extension>` element must contain a `<coreId>` element that indicates the column in the extension file that contains the core record identifier (the matching `<id>` in the core file).
|
|
||||||
|
|
||||||
#### `<field>` subelement
|
|
||||||
|
|
||||||
A `<core>` or `<extension>` element must contain one or more <field> elements, each representing a 'column' in the row.
|
|
||||||
|
|
||||||
### 2.3 `<files>` element
|
|
||||||
|
|
||||||
The files element must contain one or more <location> elements, each defining where a file resides. Each core or extension entity can be composed from one or more files. If an entity has data in more than one file, use the `<location>` element multiple times, once for each file that makes up the entity.
|
|
||||||
|
|
||||||
#### `<location>` subelement
|
|
||||||
|
|
||||||
Specifies the location of the file being described, which may take either of the following forms:
|
|
||||||
|
|
||||||
* A web accessible URL such as `http://www.gbif.org/data/specimen.csv` or `ftp://ftp.gbif.org/tim/specimen.txt`.
|
|
||||||
* A filepath relative to the location of the metafile such as `specimen.txt`, `./specimen.txt`, `data/specimen.txt`.
|
|
||||||
|
|
||||||
### 2.4 The `<field>` element
|
|
||||||
|
|
||||||
The field element is used to specify the location and content of data within a file. There must be one field element for every term being shared for the entity, whether explicitly or through the use of a default value for all rows in the file.
|
|
||||||
|
|
||||||
#### `index` attribute
|
|
||||||
|
|
||||||
Specifies the position of the column in the row. The first column has an index of 0, the second column 1, etc. If no column index is specified, then the term and the default may be used to define a constant value for all rows.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**:
|
|
||||||
|
|
||||||
#### `term` attribute
|
|
||||||
|
|
||||||
A Unified Resource Identifier (URI) for the term represented by this field. For example, a field containing the scientific name would have term="http://rs.tdwg.org/dwc/terms/scientificName". Terms outside of the Darwin Core specification may be used, such as those from the Dublin Core Metadata Initative, for example, dcterms:modified would be term="http://purl.org/dc/terms/modified".
|
|
||||||
|
|
||||||
* **Required**: yes
|
|
||||||
|
|
||||||
#### `default` attribute
|
|
||||||
|
|
||||||
Specifies value to use if one is not supplied for the field in a given row. If no index is supplied, the default can be used to define a constant for all rows for a field that is not in the data file.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**:
|
|
||||||
|
|
||||||
#### `vocabulary` attribute
|
|
||||||
|
|
||||||
A Unified Resource Identifier (URI) for a vocabulary that the source values for this field are based on. The URI ideally should resolve to some machine readable definition like SKOS, RDF or at least some simple text or html file often found for ISO or RFC standards. For example http://rs.gbif.org/vocabulary/gbif/nomenclatural_code.xml, http://www.ietf.org/rfc/rfc3066.txt or http://www.iso.org/iso/list-en1-semic-3.txt.
|
|
||||||
|
|
||||||
* **Required**: no
|
|
||||||
* **Default**:
|
|
||||||
|
|
||||||
## 3. Implementation Guide
|
|
||||||
|
|
||||||
### 3.1 Extension example
|
|
||||||
|
|
||||||
The following example illustrates the use of extensions. In this example there are three files in the archive, all of which are located in the same directory as the metafile. The whales.txt file acts as a core file of Taxon records. The whales.txt file is extended by two other files, types.txt and distribution.txt. The types.txt file contains records of a type specified in an external definition at http://http://rs.gbif.org/terms/1.0/Types and consists of Dublin Core and Darwin Core terms, while the distribution.txt file contains records of a type specified at http://http://rs.gbif.org/terms/1.0/Distribution and consists of Darwin Core terms plus an additional term for threatStatus. Both extension files are related to the core file by the taxonNameID fields. Presumably, this archive contains information about whale species, type specimen records for those species, and lists of countries and the threat status for those species.
|
|
||||||
|
|
||||||
![Extension](images/extension.png)
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<archive xmlns="http://rs.tdwg.org/dwc/text/"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
||||||
xsi:schemaLocation="http://rs.tdwg.org/dwc/text/ http://rs.tdwg.org/dwc/text/tdwg_dwc_text.xsd">
|
|
||||||
|
|
||||||
<core encoding="UTF-8" fieldsTerminatedBy="\t" linesTerminatedBy="\n" ignoreHeaderLines="1" rowType="http://rs.tdwg.org/dwc/terms/Taxon">
|
|
||||||
<files>
|
|
||||||
<location>whales.txt</location>
|
|
||||||
</files>
|
|
||||||
<id index="0" />
|
|
||||||
<field index="0" term="http://rs.tdwg.org/dwc/terms/taxonID" />
|
|
||||||
<field index="1" term="http://purl.org/dc/terms/modified" />
|
|
||||||
<field index="2" term="http://rs.tdwg.org/dwc/terms/scientificName"/>
|
|
||||||
<field index="3" term="http://rs.tdwg.org/dwc/terms/acceptedNameUsageID"/>
|
|
||||||
<field index="4" term="http://rs.tdwg.org/dwc/terms/parentNameUsageID"/>
|
|
||||||
<field index="5" term="http://rs.tdwg.org/dwc/terms/originalNameUsageID"/>
|
|
||||||
</core>
|
|
||||||
|
|
||||||
<extension encoding="UTF-8" fieldsTerminatedBy="," linesTerminatedBy="\n" fieldsEnclosedBy='"' ignoreHeaderLines="1" rowType="http://rs.gbif.org/terms/1.0/Types">
|
|
||||||
<files>
|
|
||||||
<location>types.csv</location>
|
|
||||||
</files>
|
|
||||||
<coreId index="0" />
|
|
||||||
<field index="1" term="http://purl.org/dc/terms/bibliographicCitation"/>
|
|
||||||
<field index="2" term="http://rs.tdwg.org/dwc/terms/catalogNumber"/>
|
|
||||||
<field index="3" term="http://rs.tdwg.org/dwc/terms/collectionCode"/>
|
|
||||||
<field index="4" term="http://rs.tdwg.org/dwc/terms/institutionCode"/>
|
|
||||||
<field index="5" term="http://rs.tdwg.org/dwc/terms/typeStatus"/>
|
|
||||||
</extension>
|
|
||||||
|
|
||||||
<extension encoding="UTF-8" fieldsTerminatedBy="," linesTerminatedBy="\n" fieldsEnclosedBy='"' ignoreHeaderLines="1" rowType="http://rs.gbif.org/terms/1.0/Distribution">
|
|
||||||
<files>
|
|
||||||
<location>distribution.csv</location>
|
|
||||||
</files>
|
|
||||||
<coreId index="0" />
|
|
||||||
<field index="1" term="http://rs.tdwg.org/dwc/terms/countryCode"/>
|
|
||||||
<field index="2" term="http://rs.gbif.org/terms/1.0/threatStatus"/>
|
|
||||||
<field index="3" term="http://rs.tdwg.org/dwc/terms/occurrenceStatus"/>
|
|
||||||
</extension>
|
|
||||||
</archive>
|
|
||||||
```
|
|
||||||
|
|
||||||
## 4. Database Example
|
|
||||||
|
|
||||||
### 4.1 MySQL
|
|
||||||
|
|
||||||
It is very easy to produce _fielded text_ using the `SELECT INTO` outfile command from MySQL. The encoding of the resulting file will depend on the server variables and collations used, and might need to be modified before the operation is done. Note that MySQL will export `NULL` values as \N by default. Use the `IFNULL()` function as shown in the following example to avoid this.
|
|
||||||
|
|
||||||
```SQL
|
|
||||||
SELECT
|
|
||||||
IFNULL(id, ''), IFNULL(scientific_name, ''), IFNULL(count,'')
|
|
||||||
INTO outfile '/tmp/dwc.txt'
|
|
||||||
FIELDS TERMINATED BY ','
|
|
||||||
OPTIONALLY ENCLOSED BY '"'
|
|
||||||
LINES TERMINATED BY '\n'
|
|
||||||
FROM
|
|
||||||
dwc;
|
|
||||||
```
|
|
||||||
|
|
||||||
## 5. Tools
|
|
||||||
|
|
||||||
For tools and applications, including a Java-based application to read Darwin Core text archives, see the [resources page](../../resources/index.html).
|
|
|
@ -1,327 +0,0 @@
|
||||||
# Darwin Core XML Guide
|
|
||||||
|
|
||||||
Title
|
|
||||||
: Darwin Core XML Guide
|
|
||||||
|
|
||||||
Date Issued
|
|
||||||
: 2009-02-12
|
|
||||||
|
|
||||||
Date Modified
|
|
||||||
: 2015-06-02
|
|
||||||
|
|
||||||
Abstract
|
|
||||||
: Guidelines for the implementation of Darwin Core in XML.
|
|
||||||
|
|
||||||
Contributors
|
|
||||||
: John Wieczorek (MVZ), Markus Döring (GBIF), Renato De Giovanni (CRIA), Tim Robertson (GBIF), Dave Vieglais (KUNHM)
|
|
||||||
|
|
||||||
Legal
|
|
||||||
: This document is governed by the standard legal, copyright, licensing provisions and disclaimers issued by the Taxonomic Databases Working Group.
|
|
||||||
|
|
||||||
Part of TDWG Standard
|
|
||||||
: <http://www.tdwg.org/standards/450/>
|
|
||||||
|
|
||||||
Creator
|
|
||||||
: Darwin Core Task Group
|
|
||||||
|
|
||||||
Identifier
|
|
||||||
: <http://rs.tdwg.org/dwc/2014-11-08/terms/guides/xml/>
|
|
||||||
|
|
||||||
Latest Version
|
|
||||||
: <http://rs.tdwg.org/dwc/terms/guides/xml/>
|
|
||||||
|
|
||||||
Replaces
|
|
||||||
: <http://rs.tdwg.org/dwc/2010-05-23/terms/guides/xml/>
|
|
||||||
|
|
||||||
Document Status
|
|
||||||
: Current Standard
|
|
||||||
|
|
||||||
## 1. Introduction
|
|
||||||
|
|
||||||
**Audience**: This document is targeted toward those who wish to use or construct application schemas using Darwin Core terms in XML. It includes explanations of existing schemas such as the Simple Darwin Core [[SIMPLEDWC](../../simple/index.htm)] and how to build new schemas to meet specific models of information.
|
|
||||||
|
|
||||||
This document provides guidelines for implementing application schemas based on Darwin Core terms [[TERMS](../../index.htm)] using [[XML](http://www.w3.org/XML/)]. The underlying metadata model is described (in a syntax neutral way), followed by some specific guidelines for XML implementations. Some guidance on the use of non-Darwin Core terms is also provided.
|
|
||||||
|
|
||||||
This document does not provide guidelines for encoding Darwin Core in RDF/XML. Nor does it take a position on the relative merits of encoding metadata in 'plain' XML rather than RDF/XML. This document provides guidelines in those cases where RDF/XML is not considered appropriate.
|
|
||||||
|
|
||||||
## 2. Implementation Guide
|
|
||||||
|
|
||||||
### 2.1 XML Schema
|
|
||||||
|
|
||||||
Implementors should base their XML applications on _XML Schemas_ [[XMLSCHEMA](http://www.w3.org/XML/Schema)] rather than _XML DTDs_. Approaches based on _XML Schemas_ are more flexible and are more easily re-used within other XML applications.
|
|
||||||
|
|
||||||
### 2.2 XML Namespaces
|
|
||||||
|
|
||||||
Implementors should use _XML Namespaces_ [[XMLNS](http://www.w3.org/TR/1999/REC-xml-names-19990114/)] to uniquely identify elements. Darwin Core namespaces are defined in the _Darwin Core Namespace Policy_ [[NAMESPACEPOLICY](../../namespace/index.htm)], while Dublin Core namespaces are defined in the _DCMI Namespace Recommendation_ [[DCMINS](http://dublincore.org/documents/dcmi-namespace/)].
|
|
||||||
|
|
||||||
### 2.3 Abstract model
|
|
||||||
|
|
||||||
The Darwin Core follows the _Dublin Core Metadata Initiative Abstract Model_ [[ABSTRACTMODEL](http://dublincore.org/documents/abstract-model/)] except that the Darwin Core _record_ is roughly equivalent to the Dublin Core _resource_.
|
|
||||||
|
|
||||||
- Darwin Core terms are either _classes_ or _properties_.
|
|
||||||
- Each _property_ has at most one _class_ as its domain (describes no more than one _class_).
|
|
||||||
- A _Darwin Core record_ is made up of zero or more _classes_ and one or more _properties_ with their associated _values_.
|
|
||||||
- Each _value_ is a literal string.
|
|
||||||
- The _values_ of _properties_ within a _Darwin Core record_ describe that record.
|
|
||||||
- A _Darwin Core record_ must include all required _properties_, if any, and their associated _values_.
|
|
||||||
|
|
||||||
### 2.4 Properties and Values
|
|
||||||
|
|
||||||
The Darwin Core follows the guidelines for expressing Dublin Core metadata using XML [[DCMIXMLGUIDE](http://dublincore.org/documents/dc-xml/)] except in that Darwin Core implementors should encode _properties_ as XML elements and _values_ as the content of those elements instead of having each property contain a value representation and its associated value. The name of the XML element should be an XML qualified name (QName), which associates the value given in the _Term name_ attribute in the Darwin Core Terms recommendation [[TERMS](../../index.htm)] with the appropriate namespace name. For example, use
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
||||||
targetNamespace="http://rs.tdwg.org/dwc/terms/"
|
|
||||||
xmlns:dwc="http://rs.tdwg.org/dwc/terms/">
|
|
||||||
...
|
|
||||||
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
|
||||||
```
|
|
||||||
|
|
||||||
rather than
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<dwc:basisOfRecord value="HumanObservation" />
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.5 Null values
|
|
||||||
|
|
||||||
Elements for which the value is null should be omitted from the document or explicitly coded using the attribute _xsi:nil="true"_.
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<dwc:locality xsi:nil="true"/>
|
|
||||||
```
|
|
||||||
|
|
||||||
Do not use an empty string - an element with no content:
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<dwc:locality></dwc:locality>
|
|
||||||
'''
|
|
||||||
|
|
||||||
### 2.6 Simple Darwin Core
|
|
||||||
|
|
||||||
The _Simple Darwin Core_ [[SIMPLEXMLSCHEMA](../../../xsd/tdwg_dwc_simple.xsd)] most closely models the "flat" nature of many data sets. It is a ready-made schema for sharing information with no structure beyond properties of a _record_ (equivalent to fields in a table, or columns in a spreadsheet). It is meant to accommodate all properties except those that require further structure to be meaningful (auxilliary terms in the classes [ResourceRelationship](../../index.htm#ResourceRelationship) and [MeasurementOrFact](../../index.htm#MeasurementOrFact). The schema has no required terms and no term is repeated within a given _record_. Refer to the _Simple Darwin Core_ page [[SIMPLEDWC](../../simple/index.htm)] for the rationale behind this schema.
|
|
||||||
|
|
||||||
The term [dcterms:type](../../index.htm#type) (which is controlled by the _Dublin Core Type Vocabulary_ [[DCMI-TYPE](http://dublincore.org/documents/dcmi-type-vocabulary/)]), gives the basic category of object (PhysicalObject, StillImage, MovingImage, Sound, or Text) the record is about. The term [basisOfRecord](../../index.htm#basisOfRecord), which has a controlled vocabulary distinct from that of _dcterms:type_, shows the name of the Darwin Core class (e.g., LivingSpecimen, PreservedSpecimen, FossilSpecimen, HumanObservation, MachineObservation, Taxon) the record is about.
|
|
||||||
|
|
||||||
Following is a brief example of an XML document for a single specimen complying with the _Simple Darwin Core Schema_ [[SIMPLEXMLSCHEMA](../../../xsd/tdwg_dwc_simple.xsd)]. The Simple Darwin Core XML example document [[SIMPLEXMLEXAMPLE](../../../examples/xml/example_simple.xml)] (if this link shows a blank page in your browser, use the View Source option to see the XML document) shows detail for a single record having a more complete set of elements.
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<?xml version="1.0"?>
|
|
||||||
<dwr:SimpleDarwinRecordSet
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://rs.tdwg.org/dwc/xsd/simpledarwincore/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_simple.xsd"
|
|
||||||
xmlns:dcterms="http://purl.org/dc/terms/"
|
|
||||||
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
|
||||||
xmlns:dwr="http://rs.tdwg.org/dwc/xsd/simpledarwincore/">
|
|
||||||
<dwr:SimpleDarwinRecord>
|
|
||||||
<dcterms:type>PhysicalObject</dcterms:type>
|
|
||||||
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
|
||||||
<dcterms:rightsHolder>Museum of Vertebrate Zoology</dcterms:rightsHolder>
|
|
||||||
<dcterms:rights>Creative Commons License</dcterms:rights>
|
|
||||||
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
|
||||||
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
|
||||||
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
|
||||||
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
|
||||||
<dwc:country>Argentina</dwc:country>
|
|
||||||
<dwc:countryCode>AR</dwc:countryCode>
|
|
||||||
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
|
||||||
<dwc:locality>25 km al NNE de Bariloche por Ruta 40 (=237)</dwc:locality>
|
|
||||||
</dwr:SimpleDarwinRecord>
|
|
||||||
</dwr:SimpleDarwinRecordSet>
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2.7 Classes and Containment
|
|
||||||
|
|
||||||
Many Darwin Core terms (_properties_) are defined as being associated with another term (a _class_). For example, [scientificName](../../index.htm#ScientificName) and [Taxon](../../index.htm#Taxon) are both Darwin Core terms, but _scientificName_ is a property associated with the _Taxon_ class. When constructing schemas that take advantage of classes in structures, implementors are encouraged to maintain the property/class relationships defined by the terms whenever possible (refer to the _Class_ attribute of the term as given in the _Quick Reference Guide_ [[TERMS](../../index.htm)]) or the attribute _dwcattributes:organizedInClass_ in the term declaration in the [dcterms.rdf](../../../rdf/dcterms.rdf) file. To promote reuse, Darwin Core provides a set of xml schemas to use as the basis of additional schemas:
|
|
||||||
|
|
||||||
- [[TERMSXMLSCHEMA](../../../xsd/tdwg_dwcterms.xsd)] - property term definitions as typed global elements and named groups for all terms for a given class to be referenced. The schema makes use of substitution groups anyClass, anyProperty, anyIdentifier and anyXYZTerm for each class, e.g. anyTaxonTerm. This is the schema upon which the _Simple Darwin Core XML Schema_ [[SIMPLEXMLSCHEMA](../../../xsd/tdwg_dwc_simple.xsd)] is based.
|
|
||||||
- [[CLASSTERMSXMLSCHEMA](../../../xsd/tdwg_dwc_class_terms.xsd)] - class term definitions as typed global elements with subelements referencing all corresponding property terms via their substitution group.
|
|
||||||
|
|
||||||
It is encouraged to use classes in a normalized way to avoid deep nesting. A _Darwin Core Tools and Applications_ wiki page [[TOOLS](https://github.com/tdwg/dwc-documentation/blob/master/documentation/resources.md)] has been created as an index to example schemas for the purpose of community discussions and development. An XML schema [[CLASSXMLSCHEMA](../../../xsd/tdwg_dwc_classes.xsd)] is provided to freely mix any Darwin Core Class in a global list and allow them to reference each other using the respective class identifier terms. Following is an example of using normalized classes to represent two related specimen occurrences (one of which has had a second identification) at one location following this class-based schema. Note that you can reuse the location definition here by referring to it via locationID:
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<?xml version="1.0"?>
|
|
||||||
<dwr:DarwinRecordSet
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://rs.tdwg.org/dwc/dwcrecord/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_classes.xsd"
|
|
||||||
xmlns:dcterms="http://purl.org/dc/terms/"
|
|
||||||
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
|
||||||
xmlns:dwr="http://rs.tdwg.org/dwc/dwcrecord/">
|
|
||||||
<dcterms:Location>
|
|
||||||
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
|
||||||
<dwc:country>Argentina</dwc:country>
|
|
||||||
<dwc:countryCode>AR</dwc:countryCode>
|
|
||||||
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
|
||||||
<dwc:locality>25 km al NNE de Bariloche por Ruta 40 (=237)</dwc:locality>
|
|
||||||
</dcterms:Location>
|
|
||||||
<dwc:Occurrence>
|
|
||||||
<dcterms:type>PhysicalObject</dcterms:type>
|
|
||||||
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
|
||||||
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
|
||||||
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
|
||||||
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
|
||||||
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
|
||||||
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
|
||||||
</dwc:Occurrence>
|
|
||||||
<dwc:Identification>
|
|
||||||
<dwc:identificationID>http://guid.mvz.org/identifications/23459</dwc:identificationID>
|
|
||||||
<dwc:identifiedBy>Richard Sage</dwc:identifiedBy>
|
|
||||||
<dwc:dateIdentified>2000</dwc:dateIdentified>
|
|
||||||
<dwc:identificationQualifier>sp.</dwc:identificationQualifier>
|
|
||||||
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
</dwc:Identification>
|
|
||||||
<dwc:Taxon>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
<dwc:scientificName>Ctenomys</dwc:scientificName>
|
|
||||||
<dwc:taxonRank>genus</dwc:taxonRank>
|
|
||||||
<dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode>
|
|
||||||
<dwc:genus>Ctenomys</dwc:genus>
|
|
||||||
</dwc:Taxon>
|
|
||||||
<dwc:Identification>
|
|
||||||
<dwc:identificationID>http://guid.mvz.org/identifications/94752</dwc:identificationID>
|
|
||||||
<dwc:identifiedBy>James L Patton</dwc:identifiedBy>
|
|
||||||
<dwc:dateIdentified>2001-09-14</dwc:dateIdentified>
|
|
||||||
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14523</dwc:occurrenceID>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
</dwc:Identification>
|
|
||||||
<dwc:Taxon>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
<dwc:parentNameUsageID>urn:lsid:catalogueoflife.org:taxon:d79c11aa-29c1-102b-9a4a-00304854f820:col20120721</dwc:parentNameUsageID>
|
|
||||||
<dwc:scientificName>Ctenomys sociabilis</dwc:scientificName>
|
|
||||||
<dwc:scientificNameAuthorship>Pearson and Christie, 1985</dwc:scientificNameAuthorship>
|
|
||||||
<dwc:taxonRank>species</dwc:taxonRank>
|
|
||||||
<dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode>
|
|
||||||
<dwc:higherClassification>Animalia; Chordata; Vertebrata; Mammalia; Theria; Eutheria; Rodentia; Hystricognatha; Hystricognathi; Ctenomyidae; Ctenomyini; Ctenomys</dwc:higherClassification>
|
|
||||||
<dwc:kingdom>Animalia</dwc:kingdom>
|
|
||||||
<dwc:phylum>Chordata</dwc:phylum>
|
|
||||||
<dwc:class>Mammalia</dwc:class>
|
|
||||||
<dwc:order>Rodentia</dwc:order>
|
|
||||||
<dwc:family>Ctenomyidae</dwc:family>
|
|
||||||
<dwc:genus>Ctenomys</dwc:genus>
|
|
||||||
<dwc:specificEpithet>sociabilis</dwc:specificEpithet>
|
|
||||||
</dwc:Taxon>
|
|
||||||
<dwc:Occurrence>
|
|
||||||
<dcterms:type>PhysicalObject</dcterms:type>
|
|
||||||
<dcterms:modified>2009-02-12T12:43:31</dcterms:modified>
|
|
||||||
<dwc:institutionCode>MVZ</dwc:institutionCode>
|
|
||||||
<dwc:collectionCode>Mammals</dwc:collectionCode>
|
|
||||||
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14524</dwc:occurrenceID>
|
|
||||||
<dwc:basisOfRecord>PreservedSpecimen</dwc:basisOfRecord>
|
|
||||||
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
|
||||||
</dwc:Occurrence>
|
|
||||||
<dwc:Identification>
|
|
||||||
<dwc:identificationID>http://guid.mvz.org/identifications/94753</dwc:identificationID>
|
|
||||||
<dwc:identifiedBy>James L Patton</dwc:identifiedBy>
|
|
||||||
<dwc:dateIdentified>2001-09-14</dwc:dateIdentified>
|
|
||||||
<dwc:occurrenceID>urn:catalog:MVZ:Mammals:14524</dwc:occurrenceID>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:df0a797c-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
</dwc:Identification>
|
|
||||||
<dwc:ResourceRelationship>
|
|
||||||
<dwc:resourceRelationshipID>http://guid.mvz.org/relations/23423</dwc:resourceRelationshipID>
|
|
||||||
<dwc:resourceID>urn:catalog:MVZ:Mammals:14523</dwc:resourceID>
|
|
||||||
<dwc:relatedResourceID>urn:catalog:MVZ:Mammals:14524</dwc:relatedResourceID>
|
|
||||||
<dwc:relationshipOfResource>offspring of</dwc:relationshipOfResource>
|
|
||||||
</dwc:ResourceRelationship>
|
|
||||||
<dwc:ResourceRelationship>
|
|
||||||
<dwc:resourceRelationshipID>http://guid.mvz.org/relations/23424</dwc:resourceRelationshipID>
|
|
||||||
<dwc:resourceID>urn:catalog:MVZ:Mammals:14524</dwc:resourceID>
|
|
||||||
<dwc:relatedResourceID>urn:catalog:MVZ:Mammals:14523</dwc:relatedResourceID>
|
|
||||||
<dwc:relationshipOfResource>mother of</dwc:relationshipOfResource>
|
|
||||||
</dwc:ResourceRelationship>
|
|
||||||
</dwr:DarwinRecordSet>
|
|
||||||
```
|
|
||||||
|
|
||||||
Here is different example demonstrating area count observations for events on two different days at one location. Note that we omit the identification class here as there is not identification related data and link via the taxonID directly:
|
|
||||||
|
|
||||||
```XML
|
|
||||||
<?xml version="1.0"?>
|
|
||||||
<dwr:DarwinRecordSet
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://rs.tdwg.org/dwc/dwcrecord/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_classes.xsd"
|
|
||||||
xmlns:dcterms="http://purl.org/dc/terms/"
|
|
||||||
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
|
|
||||||
xmlns:dwr="http://rs.tdwg.org/dwc/dwcrecord/">
|
|
||||||
<dcterms:Location>
|
|
||||||
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
|
||||||
<dwc:country>Argentina</dwc:country>
|
|
||||||
<dwc:countryCode>AR</dwc:countryCode>
|
|
||||||
<dwc:stateProvince>Neuquén</dwc:stateProvince>
|
|
||||||
<dwc:locality>Valle Limay, Estancia Rincon Grande, 48 ha area with centroid at this point</dwc:locality>
|
|
||||||
<dwc:decimalLatitude>-40.97467</dwc:decimalLatitude>
|
|
||||||
<dwc:decimalLongitude>-71.0734</dwc:decimalLongitude>
|
|
||||||
<dwc:geodeticDatum>WGS84</dwc:geodeticDatum>
|
|
||||||
<dwc:coordinateUncertaintyInMeters>200</dwc:coordinateUncertaintyInMeters>
|
|
||||||
</dcterms:Location>
|
|
||||||
<dwc:Event>
|
|
||||||
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
|
||||||
<dwc:samplingProtocol>area count</dwc:samplingProtocol>
|
|
||||||
<dwc:eventDate>2006-11-26</dwc:eventDate>
|
|
||||||
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
|
||||||
</dwc:Event>
|
|
||||||
<dwc:Occurrence>
|
|
||||||
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515288</dwc:occurrenceID>
|
|
||||||
<dcterms:type>Event</dcterms:type>
|
|
||||||
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
|
||||||
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
|
||||||
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
|
||||||
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
|
||||||
<dwc:individualCount>2</dwc:individualCount>
|
|
||||||
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
</dwc:Occurrence>
|
|
||||||
<dwc:Taxon>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
<dwc:scientificName>Anthus hellmayri Hartert, 1909</dwc:scientificName>
|
|
||||||
<dwc:class>Aves</dwc:class>
|
|
||||||
<dwc:genus>Anthus</dwc:genus>
|
|
||||||
<dwc:specificEpithet>hellmayri</dwc:specificEpithet>
|
|
||||||
</dwc:Taxon>
|
|
||||||
<dwc:Occurrence>
|
|
||||||
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515286</dwc:occurrenceID>
|
|
||||||
<dcterms:type>Event</dcterms:type>
|
|
||||||
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
|
||||||
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
|
||||||
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
|
||||||
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
|
||||||
<dwc:individualCount>1</dwc:individualCount>
|
|
||||||
<dwc:eventID>http://guid.mvz.org/events/2006/11/26/17</dwc:eventID>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000e838-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
</dwc:Occurrence>
|
|
||||||
<dwc:Taxon>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000e838-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
<dwc:scientificName>Anthus correndera Vieillot, 1818</dwc:scientificName>
|
|
||||||
<dwc:class>Aves</dwc:class>
|
|
||||||
<dwc:genus>Anthus</dwc:genus>
|
|
||||||
<dwc:specificEpithet>correndera</dwc:specificEpithet>
|
|
||||||
</dwc:Taxon>
|
|
||||||
<dwc:Event>
|
|
||||||
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
|
||||||
<dwc:samplingProtocol>area count</dwc:samplingProtocol>
|
|
||||||
<dwc:eventDate>2006-11-27</dwc:eventDate>
|
|
||||||
<dwc:locationID>http://guid.mvz.org/sites/arg/127</dwc:locationID>
|
|
||||||
</dwc:Event>
|
|
||||||
<dwc:Occurrence>
|
|
||||||
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515333</dwc:occurrenceID>
|
|
||||||
<dcterms:type>Event</dcterms:type>
|
|
||||||
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
|
||||||
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
|
||||||
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
|
||||||
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
|
||||||
<dwc:individualCount>1</dwc:individualCount>
|
|
||||||
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
</dwc:Occurrence>
|
|
||||||
<dwc:Occurrence>
|
|
||||||
<dwc:occurrenceID>urn:catalog:AUDCLO:EBIRD:OBS64515331</dwc:occurrenceID>
|
|
||||||
<dcterms:type>Event</dcterms:type>
|
|
||||||
<dcterms:modified>2009-02-17T07:33:04Z</dcterms:modified>
|
|
||||||
<dwc:institutionCode>AUDCLO</dwc:institutionCode>
|
|
||||||
<dwc:collectionCode>EBIRD</dwc:collectionCode>
|
|
||||||
<dwc:basisOfRecord>HumanObservation</dwc:basisOfRecord>
|
|
||||||
<dwc:individualCount>2</dwc:individualCount>
|
|
||||||
<dwc:eventID>http://guid.mvz.org/events/2006/11/27/6</dwc:eventID>
|
|
||||||
<dwc:taxonID>urn:lsid:catalogueoflife.org:taxon:f000ee00-29c1-102b-9a4a-00304854f820:col20120721</dwc:taxonID>
|
|
||||||
</dwc:Occurrence>
|
|
||||||
</dwr:DarwinRecordSet>
|
|
||||||
```
|
|