//T macro:expect-failure
//T check:test.volt:7
module test;

enum Count : u32 = 8u * 1024u * 1024u /*;*/

fn main() i32
{
	return 0;
}


use crate::utils::{snippet, span_lint_and_then};
use rustc_ast::ast::{Item, ItemKind, Ty, TyKind};
use rustc_errors::Applicability;
use rustc_lint::{EarlyContext, EarlyLintPass};
use rustc_session::{declare_lint_pass, declare_tool_lint};

declare_clippy_lint! {
    /// **What it does:** Checks for constants and statics with an explicit `'static` lifetime.
    ///
    /// **Why is this bad?** Adding `'static` to every reference can create very
    /// complicated types.
    ///
    /// **Known problems:** None.
    ///
    /// **Example:**
    /// ```ignore
    /// const FOO: &'static [(&'static str, &'static str, fn(&Bar) -> bool)] =
    /// &[...]
    /// static FOO: &'static [(&'static str, &'static str, fn(&Bar) -> bool)] =
    /// &[...]
    /// ```
    /// This code can be rewritten as
    /// ```ignore
    ///  const FOO: &[(&str, &str, fn(&Bar) -> bool)] = &[...]
    ///  static FOO: &[(&str, &str, fn(&Bar) -> bool)] = &[...]
    /// ```
    pub REDUNDANT_STATIC_LIFETIMES,
    style,
    "Using explicit `'static` lifetime for constants or statics when elision rules would allow omitting them."
}

declare_lint_pass!(RedundantStaticLifetimes => [REDUNDANT_STATIC_LIFETIMES]);

impl RedundantStaticLifetimes {
    // Recursively visit types
    fn visit_type(&mut self, ty: &Ty, cx: &EarlyContext<'_>, reason: &str) {
        match ty.kind {
            // Be careful of nested structures (arrays and tuples)
            TyKind::Array(ref ty, _) => {
                self.visit_type(&*ty, cx, reason);
            },
            TyKind::Tup(ref tup) => {
                for tup_ty in tup {
                    self.visit_type(&*tup_ty, cx, reason);
                }
            },
            // This is what we are looking for !
            TyKind::Rptr(ref optional_lifetime, ref borrow_type) => {
                // Match the 'static lifetime
                if let Some(lifetime) = *optional_lifetime {
                    match borrow_type.ty.kind {
                        TyKind::Path(..) | TyKind::Slice(..) | TyKind::Array(..) | TyKind::Tup(..) => {
                            if lifetime.ident.name == rustc_span::symbol::kw::StaticLifetime {
                                let snip = snippet(cx, borrow_type.ty.span, "<type>");
                                let sugg = format!("&{}", snip);
                                span_lint_and_then(
                                    cx,
                                    REDUNDANT_STATIC_LIFETIMES,
                                    lifetime.ident.span,
                                    reason,
                                    |diag| {
                                        diag.span_suggestion(
                                            ty.span,
                                            "consider removing `'static`",
                                            sugg,
                                            Applicability::MachineApplicable, //snippet
                                        );
                                    },
                                );
                            }
                        },
                        _ => {},
                    }
                }
                self.visit_type(&*borrow_type.ty, cx, reason);
            },
            TyKind::Slice(ref ty) => {
                self.visit_type(ty, cx, reason);
            },
            _ => {},
        }
    }
}

impl EarlyLintPass for RedundantStaticLifetimes {
    fn check_item(&mut self, cx: &EarlyContext<'_>, item: &Item) {
        if !item.span.from_expansion() {
            if let ItemKind::Const(_, ref var_type, _) = item.kind {
                self.visit_type(var_type, cx, "constants have by default a `'static` lifetime");
                // Don't check associated consts because `'static` cannot be elided on those (issue
                // #2438)
            }

            if let ItemKind::Static(ref var_type, _, _) = item.kind {
                self.visit_type(var_type, cx, "statics have by default a `'static` lifetime");
            }
        }
    }
}


K 25
svn:wc:ra_dav:version-url
V 30
/!svn/ver/838/fasttrack/config
END
fasttrack_config
K 25
svn:wc:ra_dav:version-url
V 47
/!svn/ver/838/fasttrack/config/fasttrack_config
END


package network // import "github.com/docker/docker/api/types/network"
import (
	"github.com/docker/docker/api/types/filters"
	"github.com/docker/docker/errdefs"
)

// Address represents an IP address
type Address struct {
	Addr      string
	PrefixLen int
}

// IPAM represents IP Address Management
type IPAM struct {
	Driver  string
	Options map[string]string //Per network IPAM driver options
	Config  []IPAMConfig
}

// IPAMConfig represents IPAM configurations
type IPAMConfig struct {
	Subnet     string            `json:",omitempty"`
	IPRange    string            `json:",omitempty"`
	Gateway    string            `json:",omitempty"`
	AuxAddress map[string]string `json:"AuxiliaryAddresses,omitempty"`
}

// EndpointIPAMConfig represents IPAM configurations for the endpoint
type EndpointIPAMConfig struct {
	IPv4Address  string   `json:",omitempty"`
	IPv6Address  string   `json:",omitempty"`
	LinkLocalIPs []string `json:",omitempty"`
}

// Copy makes a copy of the endpoint ipam config
func (cfg *EndpointIPAMConfig) Copy() *EndpointIPAMConfig {
	cfgCopy := *cfg
	cfgCopy.LinkLocalIPs = make([]string, 0, len(cfg.LinkLocalIPs))
	cfgCopy.LinkLocalIPs = append(cfgCopy.LinkLocalIPs, cfg.LinkLocalIPs...)
	return &cfgCopy
}

// PeerInfo represents one peer of an overlay network
type PeerInfo struct {
	Name string
	IP   string
}

// EndpointSettings stores the network endpoint details
type EndpointSettings struct {
	// Configurations
	IPAMConfig *EndpointIPAMConfig
	Links      []string
	Aliases    []string
	// Operational data
	NetworkID           string
	EndpointID          string
	Gateway             string
	IPAddress           string
	IPPrefixLen         int
	IPv6Gateway         string
	GlobalIPv6Address   string
	GlobalIPv6PrefixLen int
	MacAddress          string
	DriverOpts          map[string]string
}

// Task carries the information about one backend task
type Task struct {
	Name       string
	EndpointID string
	EndpointIP string
	Info       map[string]string
}

// ServiceInfo represents service parameters with the list of service's tasks
type ServiceInfo struct {
	VIP          string
	Ports        []string
	LocalLBIndex int
	Tasks        []Task
}

// Copy makes a deep copy of `EndpointSettings`
func (es *EndpointSettings) Copy() *EndpointSettings {
	epCopy := *es
	if es.IPAMConfig != nil {
		epCopy.IPAMConfig = es.IPAMConfig.Copy()
	}

	if es.Links != nil {
		links := make([]string, 0, len(es.Links))
		epCopy.Links = append(links, es.Links...)
	}

	if es.Aliases != nil {
		aliases := make([]string, 0, len(es.Aliases))
		epCopy.Aliases = append(aliases, es.Aliases...)
	}
	return &epCopy
}

// NetworkingConfig represents the container's networking configuration for each of its interfaces
// Carries the networking configs specified in the `docker run` and `docker network connect` commands
type NetworkingConfig struct {
	EndpointsConfig map[string]*EndpointSettings // Endpoint configs for each connecting network
}

// ConfigReference specifies the source which provides a network's configuration
type ConfigReference struct {
	Network string
}

var acceptedFilters = map[string]bool{
	"dangling": true,
	"driver":   true,
	"id":       true,
	"label":    true,
	"name":     true,
	"scope":    true,
	"type":     true,
}

// ValidateFilters validates the list of filter args with the available filters.
func ValidateFilters(filter filters.Args) error {
	return errdefs.InvalidParameter(filter.Validate(acceptedFilters))
}


#include <errno.h>
#include <sys/stat.h>
#include <sys/times.h>
#include <sys/unistd.h>
#include <sys/time.h>

#if defined STM32F1
# include <stm32f1xx_hal.h>
#elif defined STM32F2
# include <stm32f2xx_hal.h>
#elif defined STM32F4
# include <stm32f4xx_hal.h>
#elif defined STM32G0
# include <stm32g0xx_hal.h>
#endif

extern uint32_t __get_MSP(void);
extern UART_HandleTypeDef UART_Handle;
extern uint64_t virtualTimer;

#undef errno
extern int errno;

char *__env[1] = { 0 };
char **environ = __env;

int _write(int file, char *ptr, int len);

void _exit(int status)
{
    while (1);
}

int _close(int file)
{
    return -1;
}

int _execve(char *name, char **argv, char **env)
{
    errno = ENOMEM;
    return -1;
}

int _fork()
{
    errno = EAGAIN;
    return -1;
}

int _fstat(int file, struct stat *st)
{
    st->st_mode = S_IFCHR;
    return 0;
}

int _getpid()
{
    return 1;
}

int _gettimeofday(struct timeval *tv, struct timezone *tz)
{
    tv->tv_sec = virtualTimer / 1000;
    tv->tv_usec = (virtualTimer % 1000) * 1000;
    return 0;
}

int _isatty(int file)
{
    switch (file)
    {
    case STDOUT_FILENO:
    case STDERR_FILENO:
    case STDIN_FILENO:
        return 1;
    default:
        //errno = ENOTTY;
        errno = EBADF;
        return 0;
    }
}

int _kill(int pid, int sig)
{
    errno = EINVAL;
    return (-1);
}

int _link(char *old, char *new)
{
    errno = EMLINK;
    return -1;
}

int _lseek(int file, int ptr, int dir)
{
    return 0;
}

caddr_t _sbrk(int incr)
{
    extern char _ebss;
    static char *heap_end= &_ebss;
    char *prev_heap_end;

    prev_heap_end = heap_end;

    char * stack = (char*) __get_MSP();
    if (heap_end + incr > stack)
    {
        _write(STDERR_FILENO, "Heap and stack collision\n", 25);
        errno = ENOMEM;
        return (caddr_t) - 1;
        //abort ();
    }

    heap_end += incr;
    return (caddr_t) prev_heap_end;

}

int _read(int file, char *ptr, int len)
{
    switch (file)
    {
    case STDIN_FILENO:
        HAL_UART_Receive(&UART_Handle, (uint8_t *)ptr, 1, HAL_MAX_DELAY);
        return 1;
    default:
        errno = EBADF;
        return -1;
    }
}

int _stat(const char *filepath, struct stat *st)
{
    st->st_mode = S_IFCHR;
    return 0;
}

clock_t _times(struct tms *buf)
{
    return -1;
}

int _unlink(char *name)
{
    errno = ENOENT;
    return -1;
}

int _wait(int *status)
{
    errno = ECHILD;
    return -1;
}

int _write(int file, char *ptr, int len)
{
    switch (file)
    {
    case STDOUT_FILENO: /*stdout*/
        HAL_UART_Transmit(&UART_Handle, (uint8_t*)ptr, len, HAL_MAX_DELAY);
        break;
    case STDERR_FILENO: /* stderr */
        HAL_UART_Transmit(&UART_Handle, (uint8_t*)ptr, len, HAL_MAX_DELAY);
        break;
    default:
        errno = EBADF;
        return -1;
    }
    return len;
}


//
// PackageSourcesOptionPanel.cs
//
// Author:
//   Matt Ward <ward.matt@gmail.com>
//
// Copyright (C) 2013 Matthew Ward
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

using System;
using System.Linq;
using System.IO;
using System.Security.Cryptography;
using MonoDevelop.Components;
using MonoDevelop.Core;
using MonoDevelop.Ide;
using MonoDevelop.Ide.Gui.Dialogs;
using NuGet.Common;
using NuGet.Configuration;

namespace MonoDevelop.PackageManagement.Gui
{
	internal class PackageSourcesOptionsPanel : OptionsPanel
	{
		RegisteredPackageSourcesViewModel viewModel;
		PackageSourcesWidget packageSourcesWidget;
		bool loadError;

		public override Control CreatePanelWidget()
		{
			try {
				return CreatePackageSourcesWidget ();
			} catch (Exception ex) {
				LoggingService.LogError ("Unable to show package sources in NuGet.Config file.", ex);

				loadError = true;

				return new PackageSourcesLoadErrorWidget (
					GetLoadErrorMessage (ex),
					ex.Message,
					GetGlobalNuGetConfigFileName ());
			}
		}

		PackageSourcesWidget CreatePackageSourcesWidget ()
		{
			var settings = SettingsLoader.LoadDefaultSettings (throwError: true);
			var repositoryProvider = SourceRepositoryProviderFactory.CreateSourceRepositoryProvider (settings);
			viewModel = new RegisteredPackageSourcesViewModel (repositoryProvider);
			viewModel.Load ();

			packageSourcesWidget = new PackageSourcesWidget (viewModel);
			return packageSourcesWidget;
		}

		string GetLoadErrorMessage (Exception ex)
		{
			if (ex is CryptographicException)
				return GettextCatalog.GetString ("Unable to decrypt passwords stored in the NuGet.Config file.");

			return GettextCatalog.GetString ("Unable to read the NuGet.Config file.");
		}

		/// <summary>
		/// Check that mono can encrypt package source passwords. This can fail if the
		/// "~/.config/.mono/keypairs" directory has incorrect permissions.
		///
		/// The keypairs directory will be created by the HttpWebRequest when a
		/// request is made to url using https. The keypairs directory created has the
		/// wrong permissions so NuGet will fail to encrypt any passwords.
		///
		/// Use the following to fix the permissions:
		///
		/// chmod u=rwx,go= keypairs
		///
		/// This check is done here instead of in ApplyChanges so the user is presented
		/// with a slightly better error message and the user can try to fix the problem
		/// without losing their changes.
		/// </summary>
		public override bool ValidateChanges ()
		{
			if (Platform.IsWindows || loadError) {
				return true;
			}

			try {
				if (AnyPasswordsToBeEncrypted ()) {
					CheckPasswordEncryptionIsWorking ();
				}
			} catch (CryptographicException ex) {
				LoggingService.LogError ("Unable to encrypt NuGet Package Source passwords.", ex);

				MessageService.ShowMessage (
					GettextCatalog.GetString ("Unable to encrypt Package Source passwords."),
					GetEncryptionFailureMessage (ex));

				return false;
			}
			return true;
		}

		bool AnyPasswordsToBeEncrypted ()
		{
			return viewModel
				.PackageSourceViewModels
				.Any (packageSource => packageSource.HasPassword ());
		}

		/// <summary>
		/// Try encrypting some data the same way NuGet does when it
		/// encrypts passwords in the NuGet.config file.
		///
		/// If the ~/.config/.mono/keypairs directory
		/// has incorrect permissions or has a corrupt key value pair then
		/// ProtectedData.Protect (...) will throw an exception.
		/// </summary>
		void CheckPasswordEncryptionIsWorking ()
		{
			var userData = new byte [] { 0xFF };
			ProtectedData.Protect (userData, null, DataProtectionScope.CurrentUser);
		}

		string GetEncryptionFailureMessage (Exception ex)
		{
			if (ex.InnerException != null) {
				return ex.InnerException.Message;
			}

			return ex.Message;
		}

		public override void ApplyChanges()
		{
			if (loadError)
				return;

			try {
				if (packageSourcesWidget.HasPackageSourcesOrderChanged) {
					viewModel.Save (
						packageSourcesWidget.GetOrderedPackageSources ());
				} else {
					viewModel.Save ();
				}
				PackageManagementServices.Workspace.ReloadSettings ();
			} catch (Exception ex) {
				LoggingService.LogError ("Unable to save NuGet.config changes", ex);
				MessageService.ShowError (
					GettextCatalog.GetString ("Unable to save package source changes.{0}{0}{1}",
					Environment.NewLine,
					GetSaveNuGetConfigFileErrorMessage ()));
			}
		}

		/// <summary>
		/// Returns a non-Windows specific error message instead of the one NuGet returns.
		///
		/// NuGet returns a Windows specific error:
		///
		/// "DeleteSection" cannot be called on a NullSettings. This may be caused on account of
		/// insufficient permissions to read or write to "%AppData%\NuGet\NuGet.config".
		/// </summary>
		string GetSaveNuGetConfigFileErrorMessage ()
		{
			string path = Path.Combine (
				Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData),
				"NuGet",
				"NuGet.config");
			return GettextCatalog.GetString ("Unable to read or write to \"{0}\".", path);
		}

		public override void Dispose ()
		{
			if (packageSourcesWidget != null) {
				packageSourcesWidget.Dispose ();
			}
			base.Dispose ();
		}

		string GetGlobalNuGetConfigFileName ()
		{
			try {
				FilePath fileName = GlobalNuGetConfigFilePath.GetFileName ();
				if (fileName.IsNotNull) {
					if (File.Exists (fileName))
						return fileName;
				}
			} catch (Exception ex) {
				LoggingService.LogError ("Failed to get global NuGet.Config filename.", ex);
			}
			return null;
		}
	}
}


/*
 * Copyright Terracotta, 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.
 */

package org.ehcache.spi.service;

/**
 * {@link Service} interface that indicates that implementing services participate in
 * {@link org.ehcache.Status#MAINTENANCE MAINTENANCE} mode.
 */
@PluralService
public interface MaintainableService extends Service {

  /**
   * Defines Maintenance scope
   */
  enum MaintenanceScope {
    /** Will impact the cache manager */
    CACHE_MANAGER,
    /** Will impact one or many caches */
    CACHE
  }

  /**
   * Start this service for maintenance, based on its default configuration.
   * @param serviceProvider enables to depend on other maintainable services
   * @param maintenanceScope the scope of the maintenance
   *
   */
  void startForMaintenance(ServiceProvider<? super MaintainableService> serviceProvider, MaintenanceScope maintenanceScope);

}


<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>mod_mime - Apache HTTP Server Version 2.2</title>
<link href="../style/css/manual-zip.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-zip-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />

Modules | Directives | FAQ | Glossary | Sitemap

Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2 > Modules

Apache Module mod_mime

Description:	Associates the requested filename's extensions
    with the file's behavior (handlers and filters)
    and content (mime-type, language, character set and
    encoding)

Status:	Base

Module Identifier:	mime_module

Source File:	mod_mime.c

Summary

This module is used to associate various bits of "meta
    information" with files by their filename extensions. This
    information relates the filename of the document to its
    mime-type, language, character set and encoding. This
    information is sent to the browser, and participates in content
    negotiation, so the user's preferences are respected when
    choosing one of several possible files to serve. See
    mod_negotiation for more information
    about content negotiation.

The directives AddCharset, AddEncoding, AddLanguage and AddType are all used to map file
    extensions onto the meta-information for that file. Respectively
    they set the character set, content-encoding, content-language,
    and MIME-type (content-type) of documents.  The directive TypesConfig is used to specify a
    file which also maps extensions onto MIME types.

In addition, mod_mime may define the handler and filters that originate and process
    content.  The directives AddHandler, AddOutputFilter, and AddInputFilter control the modules
    or scripts that serve the document.  The MultiviewsMatch directive allows
    mod_negotiation to consider these file extensions
    to be included when testing Multiviews matches.

While mod_mime associates meta-information
    with filename extensions, the core server
    provides directives that are used to associate all the files in a
    given container (e.g., <Location>, <Directory>, or <Files>) with particular
    meta-information. These directives include ForceType, SetHandler, SetInputFilter, and SetOutputFilter.  The core directives
    override any filename extension mappings defined in
    mod_mime.

Note that changing the meta-information for a file does not
    change the value of the Last-Modified header.
    Thus, previously cached copies may still be used by a client or
    proxy, with the previous headers. If you change the
    meta-information (language, content type, character set or
    encoding) you may need to 'touch' affected files (updating
    their last modified date) to ensure that all visitors are
    receive the corrected content headers.

Directives

 AddCharset

 AddEncoding

 AddHandler

 AddInputFilter

 AddLanguage

 AddOutputFilter

 AddType

 DefaultLanguage

 ModMimeUsePathInfo

 MultiviewsMatch

 RemoveCharset

 RemoveEncoding

 RemoveHandler

 RemoveInputFilter

 RemoveLanguage

 RemoveOutputFilter

 RemoveType

 TypesConfig

Topics

 Files with Multiple Extensions

 Content encoding

 Character sets and languages

See also

MimeMagicFile

AddDefaultCharset

ForceType

DefaultType

SetHandler

SetInputFilter

SetOutputFilter

Files with Multiple Extensions

Files can have more than one extension, and the order of the
    extensions is normally irrelevant. For example, if the
    file welcome.html.fr maps onto content type
    text/html and language French then the file
    welcome.fr.html will map onto exactly the same
    information.  If more than one extension is given that maps onto
    the same type of meta-information, then the one to the right will
    be used, except for languages and content encodings. For example,
    if .gif maps to the MIME-type
    image/gif and .html maps to the
    MIME-type text/html, then the file
    welcome.gif.html will be associated with the
    MIME-type text/html.

Languages and content encodings are treated accumulative, because one can assign
    more than one language or encoding to a particular resource. For example,
    the file welcome.html.en.de will be delivered with
    Content-Language: en, de and Content-Type:
    text/html.

Care should be taken when a file with multiple extensions
    gets associated with both a MIME-type and a handler. This will
    usually result in the request being handled by the module associated
    with the handler. For example, if the .imap
    extension is mapped to the handler imap-file (from
    mod_imagemap) and the .html extension is
    mapped to the MIME-type text/html, then the file
    world.imap.html will be associated with both the
    imap-file handler and text/html MIME-type.
    When it is processed, the imap-file handler will be used,
    and so it will be treated as a mod_imagemap imagemap
    file.

If you would prefer only the last dot-separated part of the
    filename to be mapped to a particular piece of meta-data, then do
    not use the Add* directives. For example, if you wish
    to have the file foo.html.cgi processed as a CGI
    script, but not the file bar.cgi.html, then instead
    of using AddHandler cgi-script .cgi, use

Configure handler based on final extension only

    <FilesMatch \.cgi$>

      SetHandler cgi-script

    </FilesMatch>

Content encoding

A file of a particular MIME-type can additionally be encoded a
    particular way to simplify transmission over the Internet.
    While this usually will refer to compression, such as
    gzip, it can also refer to encryption, such a
    pgp or to an encoding such as UUencoding, which is
    designed for transmitting a binary file in an ASCII (text)
    format.

The HTTP/1.1
    RFC, section 14.11 puts it this way:

The Content-Encoding entity-header field is used as a modifier to
      the media-type. When present, its value indicates what additional
      content codings have been applied to the entity-body, and thus what
      decoding mechanisms must be applied in order to obtain the media-type
      referenced by the Content-Type header field. Content-Encoding is
      primarily used to allow a document to be compressed without losing
      the identity of its underlying media type.

By using more than one file extension (see section above about multiple file
    extensions), you can indicate that a file is of a
    particular type, and also has a particular
    encoding.

For example, you may have a file which is a Microsoft Word
    document, which is pkzipped to reduce its size. If the
    .doc extension is associated with the Microsoft
    Word file type, and the .zip extension is
    associated with the pkzip file encoding, then the file
    Resume.doc.zip would be known to be a pkzip'ed Word
    document.

Apache sends a Content-encoding header with the
    resource, in order to tell the client browser about the
    encoding method.

Content-encoding: pkzip

Character sets and languages

In addition to file type and the file encoding,
    another important piece of information is what language a
    particular document is in, and in what character set the file
    should be displayed. For example, the document might be written
    in the Vietnamese alphabet, or in Cyrillic, and should be
    displayed as such. This information, also, is transmitted in
    HTTP headers.

The character set, language, encoding and mime type are all
    used in the process of content negotiation (See
    mod_negotiation) to determine
    which document to give to the client, when there are
    alternative documents in more than one character set, language,
    encoding or mime type. All filename extensions associations
    created with AddCharset,
    AddEncoding, AddLanguage and AddType directives
    (and extensions listed in the MimeMagicFile) participate in this select process.
    Filename extensions that are only associated using the AddHandler, AddInputFilter or AddOutputFilter directives may be included or excluded
    from matching by using the MultiviewsMatch directive.

Charset

To convey this further information, Apache optionally sends
      a Content-Language header, to specify the language
      that the document is in, and can append additional information
      onto the Content-Type header to indicate the
      particular character set that should be used to correctly
      render the information.

        Content-Language: en, fr

	Content-Type: text/plain; charset=UTF-8

The language specification is the two-letter abbreviation
      for the language. The charset is the name of the
      particular character set which should be used.

AddCharset Directive

Description:	Maps the given filename extensions to the specified content
charset

Syntax:	AddCharset <var>charset</var> <var>extension</var>
[<var>extension</var>] ...

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The AddCharset directive maps the given
    filename extensions to the specified content charset. <var>charset</var>
    is the MIME
    charset parameter of filenames containing
    <var>extension</var>. This mapping is added to any already in force,
    overriding any mappings that already exist for the same
    <var>extension</var>.

Example

      AddLanguage ja .ja

      AddCharset EUC-JP .euc

      AddCharset ISO-2022-JP .jis

      AddCharset SHIFT_JIS .sjis

Then the document xxxx.ja.jis will be treated
    as being a Japanese document whose charset is ISO-2022-JP
    (as will the document xxxx.jis.ja). The
    AddCharset directive is useful for both to
    inform the client about the character encoding of the document so that
    the document can be interpreted and displayed appropriately, and for content negotiation,
    where the server returns one from several documents based on
    the client's charset preference.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot. Filenames may have multiple extensions and the
    <var>extension</var> argument will be compared against each of
    them.

See also

mod_negotiation

AddDefaultCharset

AddEncoding Directive

Description:	Maps the given filename extensions to the specified encoding
type

Syntax:	AddEncoding <var>MIME-enc</var> <var>extension</var>
[<var>extension</var>] ...

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The AddEncoding directive maps the given
    filename extensions to the specified encoding type. <var>MIME-enc</var>
    is the MIME encoding to use for documents containing the
    <var>extension</var>. This mapping is added to any already in force,
    overriding any mappings that already exist for the same
    <var>extension</var>.

Example

      AddEncoding x-gzip .gz

      AddEncoding x-compress .Z

This will cause filenames containing the .gz extension
    to be marked as encoded using the x-gzip encoding, and
    filenames containing the .Z extension to be marked as
    encoded with x-compress.

Old clients expect x-gzip and x-compress,
    however the standard dictates that they're equivalent to
    gzip and compress respectively. Apache does
    content encoding comparisons by ignoring any leading x-.
    When responding with an encoding Apache will use whatever form
    (i.e., x-foo or foo) the
    client requested. If the client didn't specifically request a
    particular form Apache will use the form given by the
    AddEncoding directive. To make this long story
    short, you should always use x-gzip and
    x-compress for these two specific encodings. More
    recent encodings, such as deflate should be
    specified without the x-.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot. Filenames may have multiple extensions and the
    <var>extension</var> argument will be compared against each of
    them.

AddHandler Directive

Description:	Maps the filename extensions to the specified
handler

Syntax:	AddHandler <var>handler-name</var> <var>extension</var>
[<var>extension</var>] ...

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Files having the name <var>extension</var> will be served by the
    specified <var>handler-name</var>. This
    mapping is added to any already in force, overriding any mappings that
    already exist for the same <var>extension</var>. For example, to
    activate CGI scripts with the file extension .cgi, you
    might use:

      AddHandler cgi-script .cgi

Once that has been put into your httpd.conf file, any file containing
    the .cgi extension will be treated as a CGI program.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot. Filenames may have multiple extensions and the
    <var>extension</var> argument will be compared against each of
    them.

See also

SetHandler

AddInputFilter Directive

Description:	Maps filename extensions to the filters that will process
client requests

Syntax:	AddInputFilter <var>filter</var>[;<var>filter</var>...]
<var>extension</var> [<var>extension</var>] ...

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Compatibility:	AddInputFilter is only available in Apache 2.0.26 and
later.

AddInputFilter maps the filename extension
    <var>extension</var> to the filters which
    will process client requests and POST input when they are received by
    the server. This is in addition to any filters defined elsewhere,
    including the SetInputFilter
    directive. This mapping is merged over any already in force, overriding
    any mappings that already exist for the same <var>extension</var>.

If more than one <var>filter</var> is specified, they must be separated
    by semicolons in the order in which they should process the
    content. The <var>filter</var> is case-insensitive.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot. Filenames may have multiple extensions and the
    <var>extension</var> argument will be compared against each of
    them.

See also

RemoveInputFilter

SetInputFilter

AddLanguage Directive

Description:	Maps the given filename extension to the specified content
language

Syntax:	AddLanguage <var>MIME-lang</var> <var>extension</var>
[<var>extension</var>] ...

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The AddLanguage directive maps the given
    filename extension to the specified content language.
    <var>MIME-lang</var> is the MIME language of filenames containing
    <var>extension</var>. This mapping is added to any already in force,
    overriding any mappings that already exist for the same
    <var>extension</var>.

Example

      AddEncoding x-compress .Z

      AddLanguage en .en

      AddLanguage fr .fr

Then the document xxxx.en.Z will be treated as
    being a compressed English document (as will the document
    xxxx.Z.en). Although the content language is
    reported to the client, the browser is unlikely to use this
    information. The AddLanguage directive is
    more useful for content
    negotiation, where the server returns one from several documents
    based on the client's language preference.

If multiple language assignments are made for the same
    extension, the last one encountered is the one that is used.
    That is, for the case of:

      AddLanguage en .en

      AddLanguage en-gb .en

      AddLanguage en-us .en

documents with the extension .en would be treated as
    being en-us.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot. Filenames may have multiple extensions and the
    <var>extension</var> argument will be compared against each of
    them.

See also

mod_negotiation

AddOutputFilter Directive

Description:	Maps filename extensions to the filters that will process
responses from the server

Syntax:	AddOutputFilter <var>filter</var>[;<var>filter</var>...]
<var>extension</var> [<var>extension</var>] ...

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Compatibility:	AddOutputFilter is only available in Apache 2.0.26 and
later.

The AddOutputFilter directive maps the
    filename extension <var>extension</var> to the filters which will process responses
    from the server before they are sent to the client. This is in
    addition to any filters defined elsewhere, including SetOutputFilter and AddOutputFilterByType directive. This mapping is merged
    over any already in force, overriding any mappings that already exist
    for the same <var>extension</var>.

For example, the following configuration will process all
    .shtml files for server-side includes and will then
    compress the output using mod_deflate.

      AddOutputFilter INCLUDES;DEFLATE shtml

If more than one filter is specified, they must be separated
    by semicolons in the order in which they should process the
    content. The <var>filter</var> argument is case-insensitive.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot. Filenames may have multiple extensions and the
    <var>extension</var> argument will be compared against each of
    them.

See also

RemoveOutputFilter

SetOutputFilter

AddType Directive

Description:	Maps the given filename extensions onto the specified content
type

Syntax:	AddType <var>MIME-type</var> <var>extension</var>
[<var>extension</var>] ...

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The AddType directive maps the given
    filename extensions onto the specified content
    type. <var>MIME-type</var> is the MIME
    type to use for filenames containing
    <var>extension</var>. This mapping is added to any already in
    force, overriding any mappings that already exist for the same
    <var>extension</var>. This directive can be used to add mappings
    not listed in the MIME types file (see the TypesConfig directive).

Example

      AddType image/gif .gif

      It is recommended that new MIME types be added using the
      AddType directive rather than changing the
      TypesConfig file.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot. Filenames may have multiple extensions and the
    <var>extension</var> argument will be compared against each of
    them.

See also

DefaultType

ForceType

DefaultLanguage Directive

Description:	Sets all files in the given scope to the specified
language

Syntax:	DefaultLanguage <var>MIME-lang</var>

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The DefaultLanguage directive tells Apache
    that all files in the directive's scope (e.g., all files
    covered by the current <Directory> container) that don't have an explicit language
    extension (such as .fr or .de as configured
    by AddLanguage) should be
    considered to be in the specified <var>MIME-lang</var> language. This
    allows entire directories to be marked as containing Dutch content, for
    instance, without having to rename each file. Note that unlike using
    extensions to specify languages, DefaultLanguage
    can only specify a single language.

If no DefaultLanguage directive is in force,
    and a file does not have any language extensions as configured
    by AddLanguage, then that file
    will be considered to have no language attribute.

Example

      DefaultLanguage en

See also

mod_negotiation

ModMimeUsePathInfo Directive

Description:	Tells mod_mime to treat path_info
components as part of the filename

Syntax:	ModMimeUsePathInfo On|Off

Default:	ModMimeUsePathInfo Off

Context:	directory

Status:	Base

Module:	mod_mime

Compatibility:	Available in Apache 2.0.41 and later

The ModMimeUsePathInfo directive is used to
    combine the filename with the path_info URL component to
    apply mod_mime's directives to the request. The default
    value is Off - therefore, the path_info
    component is ignored.

This directive is recommended when you have a virtual filesystem.

Example

      ModMimeUsePathInfo On

If you have a request for /bar/foo.shtml where
    /bar is a Location and ModMimeUsePathInfo is On,
    mod_mime will treat the incoming request as
    /bar/foo.shtml and directives like AddOutputFilter
    INCLUDES .shtml will add the INCLUDES filter to the
    request. If ModMimeUsePathInfo is not set, the
    INCLUDES filter will not be added.

See also

AcceptPathInfo

MultiviewsMatch Directive

Description:	The types of files that will be included when searching for
a matching file with MultiViews

Syntax:	MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
[Handlers|Filters]

Default:	MultiviewsMatch NegotiatedOnly

Context:	server config, virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Compatibility:	Available in Apache 2.0.26 and later.

MultiviewsMatch permits three different
    behaviors for mod_negotiation's
    Multiviews feature.  Multiviews allows a request for a file,
    e.g. index.html, to match any negotiated
    extensions following the base request, e.g.
    index.html.en, index.html.fr, or
    index.html.gz.

The NegotiatedOnly option provides that every extension
    following the base name must correlate to a recognized
    mod_mime extension for content negotiation, e.g.
    Charset, Content-Type, Language, or Encoding.  This is the strictest
    implementation with the fewest unexpected side effects, and is the
    default behavior.

To include extensions associated with Handlers and/or Filters,
    set the MultiviewsMatch directive to either
    Handlers, Filters, or both option keywords.
    If all other factors are equal, the smallest file will be served,
    e.g. in deciding between index.html.cgi of 500
    bytes and index.html.pl of 1000 bytes, the .cgi
    file would win in this example. Users of .asis files
    might prefer to use the Handler option, if .asis files are
    associated with the asis-handler.

You may finally allow Any extensions to match, even if
    mod_mime doesn't recognize the extension. This was the
    behavior in Apache 1.3, and can cause unpredictable results, such as
    serving .old or .bak files the webmaster never expected to be served.

For example, the following configuration will allow handlers
    and filters to participate in Multviews, but will exclude unknown
    files:

      MultiviewsMatch Handlers Filters

MultiviewsMatch is not allowed in a
    <Location> or <LocationMatch> section.

See also

Options

mod_negotiation

RemoveCharset Directive

Description:	Removes any character set associations for a set of file
extensions

Syntax:	RemoveCharset <var>extension</var> [<var>extension</var>]
...

Context:	virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Compatibility:	RemoveCharset is only available in Apache 2.0.24 and
later.

The RemoveCharset directive removes any
    character set associations for files with the given extensions.
    This allows .htaccess files in subdirectories to
    undo any associations inherited from parent directories or the
    server config files.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot.

Example

      RemoveCharset .html .shtml

RemoveEncoding Directive

Description:	Removes any content encoding associations for a set of file
extensions

Syntax:	RemoveEncoding <var>extension</var> [<var>extension</var>]
...

Context:	virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The RemoveEncoding directive removes any
    encoding associations for files with the given extensions. This
    allows .htaccess files in subdirectories to undo
    any associations inherited from parent directories or the
    server config files. An example of its use might be:

/foo/.htaccess:

      AddEncoding x-gzip .gz

      AddType text/plain .asc

      <Files *.gz.asc>

        RemoveEncoding .gz

      </Files>

This will cause foo.gz to be marked as being
    encoded with the gzip method, but foo.gz.asc as an
    unencoded plaintext file.

Note

RemoveEncoding directives are processed
      after any AddEncoding
      directives, so it is possible they may undo the effects of the latter
      if both occur within the same directory configuration.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot.

RemoveHandler Directive

Description:	Removes any handler associations for a set of file
extensions

Syntax:	RemoveHandler <var>extension</var> [<var>extension</var>]
...

Context:	virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The RemoveHandler directive removes any
    handler associations for files with the given extensions. This allows
    .htaccess files in subdirectories to undo any
    associations inherited from parent directories or the server
    config files. An example of its use might be:

/foo/.htaccess:

      AddHandler server-parsed .html

/foo/bar/.htaccess:

      RemoveHandler .html

This has the effect of returning .html files in
    the /foo/bar directory to being treated as normal
    files, rather than as candidates for parsing (see the mod_include module).

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot.

RemoveInputFilter Directive

Description:	Removes any input filter associations for a set of file
extensions

Syntax:	RemoveInputFilter <var>extension</var> [<var>extension</var>]
...

Context:	virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Compatibility:	RemoveInputFilter is only available in Apache 2.0.26 and
later.

The RemoveInputFilter directive removes any
    input filter associations for files with
    the given extensions.
    This allows .htaccess files in subdirectories to
    undo any associations inherited from parent directories or the
    server config files.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot.

See also

AddInputFilter

SetInputFilter

RemoveLanguage Directive

Description:	Removes any language associations for a set of file
extensions

Syntax:	RemoveLanguage <var>extension</var> [<var>extension</var>]
...

Context:	virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Compatibility:	RemoveLanguage is only available in Apache 2.0.24 and
later.

The RemoveLanguage directive removes any
    language associations for files with the given extensions. This
    allows .htaccess files in subdirectories to undo
    any associations inherited from parent directories or the
    server config files.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot.

RemoveOutputFilter Directive

Description:	Removes any output filter associations for a set of file
extensions

Syntax:	RemoveOutputFilter <var>extension</var> [<var>extension</var>]
...

Context:	virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

Compatibility:	RemoveOutputFilter is only available in Apache 2.0.26 and
later.

The RemoveOutputFilter directive removes any
    output filter associations for files with
    the given extensions.
    This allows .htaccess files in subdirectories to
    undo any associations inherited from parent directories or the
    server config files.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot.

Example

      RemoveOutputFilter shtml

See also

AddOutputFilter

RemoveType Directive

Description:	Removes any content type associations for a set of file
extensions

Syntax:	RemoveType <var>extension</var> [<var>extension</var>]
...

Context:	virtual host, directory, .htaccess

Override:	FileInfo

Status:	Base

Module:	mod_mime

The RemoveType directive removes any
    MIME type associations for files with
    the given extensions. This allows .htaccess files in
    subdirectories to undo any associations inherited from parent
    directories or the server config files. An example of its use
    might be:

/foo/.htaccess:

      RemoveType .cgi

This will remove any special handling of .cgi
    files in the /foo/ directory and any beneath it,
    causing the files to be treated as being of the DefaultType.

Note

RemoveType directives are processed
      after any AddType
      directives, so it is possible they may undo the effects of the
      latter if both occur within the same directory configuration.

The <var>extension</var> argument is case-insensitive and can
    be specified with or without a leading dot.

TypesConfig Directive

Description:	The location of the mime.types file

Syntax:	TypesConfig <var>file-path</var>

Default:	TypesConfig conf/mime.types

Context:	server config

Status:	Base

Module:	mod_mime

The TypesConfig directive sets the
    location of the MIME types
    configuration file. <var>File-path</var> is relative to the
    ServerRoot. This file sets
    the default list of mappings from filename extensions to content
    types. Most administrators use the provided
    mime.types file, which associates common filename
    extensions with IANA registered content types. The current list is
    maintained at http://www.iana.org/assignments/media-types/index.html.  This
    simplifies the httpd.conf file by providing the
    majority of media-type definitions, and may be overridden by
    AddType directives as
    needed. You should not edit the mime.types file,
    because it may be replaced when you upgrade your server.

The file contains lines in the format of the arguments to
    an AddType directive:

      <var>MIME-type</var> [<var>extension</var>] ...

The case of the extension does not matter. Blank lines, and lines
    beginning with a hash character (#) are ignored.

      Please do not send requests to the Apache HTTP
      Server Project to add any new entries in the distributed
      mime.types file unless (1) they are already
      registered with IANA, and (2) they use widely accepted,
      non-conflicting filename extensions across platforms.
      category/x-subtype requests will be automatically
      rejected, as will any new two-letter extensions as they will
      likely conflict later with the already crowded language and
      character set namespace.

See also

mod_mime_magic

Copyright 2014 The Apache Software Foundation.
Licensed under the Apache License, Version 2.0.

Modules | Directives | FAQ | Glossary | Sitemap


<!DOCTYPE html>
<title>HTML Polyfill Unit Tests</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.1.1.css">

test markup, will be hidden


#!/usr/bin/env python

__all__ = ['ifeng_download', 'ifeng_download_by_id']

from ..common import *

def ifeng_download_by_id(id, title = None, output_dir = '.', merge = True, info_only = False):
    assert r1(r'([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})', id), id
    url = 'http://vxml.ifengimg.com/video_info_new/%s/%s/%s.xml' % (id[-2], id[-2:], id)
    xml = get_html(url, 'utf-8')
    title = r1(r'Name="([^"]+)"', xml)
    title = unescape_html(title)
    url = r1(r'VideoPlayUrl="([^"]+)"', xml)
    from random import randint
    r = randint(10, 19)
    url = url.replace('http://wideo.ifeng.com/', 'http://ips.ifeng.com/wideo.ifeng.com/')
    type, ext, size = url_info(url)

    print_info(site_info, title, ext, size)
    if not info_only:
        download_urls([url], title, ext, size, output_dir, merge = merge)

def ifeng_download(url, output_dir = '.', merge = True, info_only = False, **kwargs):
# old pattern /uuid.shtml
# now it could be #uuid
    id = r1(r'([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})', url)
    if id:
        return ifeng_download_by_id(id, None, output_dir = output_dir, merge = merge, info_only = info_only)

    html = get_content(url)
    uuid_pattern = r'"([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})"'
    id = r1(r'var vid="([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})"', html)
    if id is None:
        video_pattern = r'"vid"\s*:\s*' + uuid_pattern
        id = match1(html, video_pattern)
    assert id, "can't find video info"
    return ifeng_download_by_id(id, None, output_dir = output_dir, merge = merge, info_only = info_only)

site_info = "ifeng.com"
download = ifeng_download
download_playlist = playlist_not_supported('ifeng')


package compoundpredicatestreemodel

import org.kie.pmml.models.drools.executor.KiePMMLStatusHolder
import org.dmg.pmml.SimplePredicate
import org.kie.api.pmml.PMML4Result

global PMML4Result $pmml4Result

declare  RESULT

    value : String
end

declare  INPUT1

    value : double
end

declare  INPUT2

    value : double
end

declare  INPUT3

    value : double
end

rule "_classRootNode"
when
    $statusHolder : KiePMMLStatusHolder( status == null )
then

$statusHolder.setStatus("_classRootNode");
update($statusHolder);

end

rule "_classRootNode_classOrAndNestedNode"
when
    $statusHolder : KiePMMLStatusHolder( status == "_classRootNode" )
    (
    INPUT1( value < -5.0 )  or

    INPUT2( value < -5.0 && value > -10.0 )   )
then

$statusHolder.setStatus("DONE");
update($statusHolder);
$pmml4Result.setResultCode("OK");
$pmml4Result.addResultVariable($pmml4Result.getResultObjectName(), "classOrAndNestedNode");

end

rule "_classRootNode_classOrNode"
when
    $statusHolder : KiePMMLStatusHolder( status == "_classRootNode" )
    (
    INPUT1( value == 2.0 )  or
    INPUT2( value == 3.5 )  )
then

$statusHolder.setStatus("DONE");
update($statusHolder);
$pmml4Result.setResultCode("OK");
$pmml4Result.addResultVariable($pmml4Result.getResultObjectName(), "classOrNode");

end

rule "_classRootNode_classAndNode"
when
    $statusHolder : KiePMMLStatusHolder( status == "_classRootNode" )
    INPUT2( value >= 8.0 )
    INPUT3( value > 8.5 )
then

$statusHolder.setStatus("DONE");
update($statusHolder);
$pmml4Result.setResultCode("OK");
$pmml4Result.addResultVariable($pmml4Result.getResultObjectName(), "classAndNode");

end

rule "_classRootNode_classXorNode"
when
    $statusHolder : KiePMMLStatusHolder( status == "_classRootNode" )
    (
    not(
    (
    INPUT1( value == 6.0 )  and
    INPUT1( value == 7.0 )  )  ) and
    exists(
    (
    INPUT1( value == 6.0 )  or

    INPUT1( value == 7.0 )   )  ) )
then

$statusHolder.setStatus("DONE");
update($statusHolder);
$pmml4Result.setResultCode("OK");
$pmml4Result.addResultVariable($pmml4Result.getResultObjectName(), "classXorNode");

end

rule "default__classRootNode"
when
    $statusHolder : KiePMMLStatusHolder( status == "_classRootNode" )
then

$statusHolder.setStatus("DONE");
update($statusHolder);
$pmml4Result.setResultCode("OK");
$pmml4Result.addResultVariable($pmml4Result.getResultObjectName(), "classRootNode");

end


//
//     Generated by class-dump 3.5 (64 bit) (Debug version compiled Jun  9 2015 22:53:21).
//
//     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2014 by Steve Nygard.
//

#import <Spotlight/PRSParsecGenericResult.h>

@interface PRSParsecGenericResult (Extensions)
- (id)textContent;
@end


/******************************************************************************
 *
 * mpu_fault_ccs.cmd - CCS linker configuration file for mpu_fault.
 *
 * Copyright (c) 2013-2014 Texas Instruments Incorporated.  All rights reserved.
 * Software License Agreement
 *
 * Texas Instruments (TI) is supplying this software for use solely and
 * exclusively on TI's microcontroller products. The software is owned by
 * TI and/or its suppliers, and is protected under applicable copyright
 * laws. You may not combine this software with "viral" open-source
 * software in order to form a larger program.
 *
 * THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
 * NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
 * NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
 * CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
 * DAMAGES, FOR ANY REASON WHATSOEVER.
 *
 * This is part of revision 2.1.0.12573 of the EK-TM4C1294XL Firmware Package.
 *
 *****************************************************************************/

--retain=g_pfnVectors

/* The following command line options are set as part of the CCS project.    */
/* If you are building using the command line, or for some reason want to    */
/* define them here, you can uncomment and modify these lines as needed.     */
/* If you are using CCS for building, it is probably better to make any such */
/* modifications in your CCS project and leave this file alone.              */
/*                                                                           */
/* --heap_size=0                                                             */
/* --stack_size=256                                                          */
/* --library=rtsv7M3_T_le_eabi.lib                                           */

/* The starting address of the application.  Normally the interrupt vectors  */
/* must be located at the beginning of the application.                      */
#define APP_BASE 0x00000000
#define RAM_BASE 0x20000000

/* System memory map */

MEMORY
{
    /* Application stored in and executes from internal flash */
    FLASH (RX) : origin = APP_BASE, length = 0x00100000
    /* Application uses internal RAM for data */
    SRAM (RWX) : origin = 0x20000000, length = 0x00040000
}

/* Section allocation in memory */

SECTIONS
{
    .intvecs:   > APP_BASE
    .text   :   > FLASH
    .const  :   > FLASH
    .cinit  :   > FLASH
    .pinit  :   > FLASH
    .init_array : > FLASH

    .vtable :   > RAM_BASE
    .data   :   > SRAM
    .bss    :   > SRAM
    .sysmem :   > SRAM
    .stack  :   > SRAM
}

__STACK_TOP = __stack + 1024;


<!-- ilias_pg.dtd for ILIAS Page Objects only -->
<!-- $Id$ -->
<!-- Language codes referring to ISO 639-1 Alpha-2 code, see http://www.oasis-open.org/cover/iso639a.html for details -->
<!ENTITY % langcode "none | aa | ab | af | am | ar | as | ay | az | ba | be | bg | bh | bi | bn | bo | br | ca | co | cs | cy | da | de | dz | el | en | eo | es | et | eu | fa | fi | fj | fo | fr | fy | ga | gd | gl | gn | gu | ha | he | hi | hr | hu | hy | ia | ie | ik | id | is | it | iu | ja | jv | ka | kk | kl | km | kn | ko | ks | ku | ky | la | ln | lo | lt | lv | mg | mi | mk | ml | mn | mo | mr | ms | mt | my | na | ne | nl | no | oc | om | or | pa | pl | ps | pt | qu | rm | rn | ro | ru | rw | sa | sd | sg | sh  | si | sk | sl | sm | sn | so | sq | sr | ss | st | su | sv | sw | ta | te | tg | th | ti | tk | tl | tn | to | tr | ts | tt | tw | ug | uk | ur | uz | vi | vo | wo | xh | yi | yo | za | zh | zu">
<!-- Types of (textual) content -->
<!ENTITY % text "#PCDATA | br | Comment | PageTurn | Footnote | Emph | Strong | Accent | Important | Quotation | Anchor | Keyw | Code | ExtLink | IntLink | SimpleBulletList | SimpleNumberedList">
<!ENTITY % commenttext "#PCDATA | br | Emph | PageTurn | Footnote | Strong | Accent | Important | Quotation | Anchor | Keyw | Code | ExtLink | IntLink">
<!ENTITY % emphtext "#PCDATA | br | Comment | PageTurn | Footnote | Strong | Accent | Important | Quotation | Anchor | Keyw | Code | ExtLink | IntLink">
<!ENTITY % strongtext "#PCDATA | br | Comment | PageTurn | Footnote | Emph | Accent | Important | Quotation | Anchor | Keyw | Code | ExtLink | IntLink">
<!ENTITY % acctext "#PCDATA | br | Comment | PageTurn | Footnote | Emph | Important | Strong | Quotation | Anchor | Keyw | Code | ExtLink | IntLink">
<!ENTITY % imptext "#PCDATA | br | Comment | PageTurn | Footnote | Emph | Accent | Strong | Quotation | Anchor | Keyw | Code | ExtLink | IntLink">
<!ENTITY % kwtext "#PCDATA | br | Comment | Footnote | Strong | Emph | Accent | Important | Quotation | Code">
<!ENTITY % linktext "#PCDATA | br | Comment | Emph | Strong | Quotation | Code">
<!ENTITY % simpletext "#PCDATA | br | Emph | Strong | Quotation | Code | Anchor | ExtLink | IntLink">
<!ENTITY % footnotetext "#PCDATA | br | Comment | Emph | Accent | Strong | Anchor | ExtLink | IntLink | Important | Quotation | Code">
<!ENTITY % titletext "#PCDATA | br | Emph | Strong | Quotation | Code">
<!ENTITY % codetext "#PCDATA | br | Emph | Strong | Accent | Important | Quotation | Footnote">

<!-- PageObject -->
<!-- Object for displaying content on a screen and comparable to a page of a book; a PageObject contains MediaObjects (=images, applets, ...) and/or paragraphs of textual content; a PageObject must not include StructureObjects or PageObjects! -->
<!-- PageObjects are comparable to LOM LearningObjects of aggregation level 2 -->
<!ELEMENT PageObject (PageContent*, Layout?, InitOpenedContent?)>

<!ELEMENT PageContent ((Paragraph | MediaObject | Table | List | FileList | Question | PlaceHolder | Section | Resources | LoginPageElement | Map | Plugged | Tabs | ContentInclude | InteractiveImage | Profile | Verification | Blog | QuestionOverview | Skills | ConsultationHours | MyCourses | AMDPageList), BibItemIdentifier*)>

<!-- enable/disable paragraph elements -->
<!ATTLIST PageContent
	PCID CDATA #IMPLIED
	Enabled (True|False) #IMPLIED
>

<!-- BibItemIdentifier specify from which BibItem(s) the content comes -->
<!ELEMENT BibItemIdentifier EMPTY>
<!ATTLIST BibItemIdentifier
	Catalog CDATA #IMPLIED
	Entry CDATA #REQUIRED
>

<!-- PageTurn -->
<!ELEMENT PageTurn (BibItemIdentifier)>
<!ATTLIST PageTurn
	NumberingType (Roman | Arabic | Alphanumeric) #REQUIRED
	Number CDATA #IMPLIED
>

<!-- Identifier -->
<!ELEMENT Identifier EMPTY>
<!ATTLIST Identifier
	Catalog CDATA #IMPLIED
	Entry CDATA #REQUIRED
>

<!-- Title -->
<!ELEMENT Title (%titletext;)*>
<!ATTLIST Title
	Language (%langcode;) #REQUIRED
>

<!-- MediaObject -->
<!-- Object of lowest complexity that contains only raw media data or fragments (e.g. an image or applet); Textual content cannot be a MediaObject! -->
<!-- MediaObjects are comparable to LOM LearningObjects of aggregation level 1 -->
<!ELEMENT MediaObject (MediaAlias, MediaAliasItem+)>
<!-- MediaAlias -->
<!-- Alias for an already existing MediaObject; this allows an easy reuse of existing MediaObjects; an alias is not a copy but only a reference to the original object-->
<!ELEMENT MediaAlias EMPTY>
<!ATTLIST MediaAlias
	OriginId CDATA #REQUIRED
	Class CDATA #IMPLIED
>
<!-- MediaAliasItem -->
<!ELEMENT MediaAliasItem (Layout?, Caption?, TextRepresentation?, Parameter*, MapArea*)>
<!ATTLIST MediaAliasItem
	Purpose (Standard | Fullscreen | Additional) #REQUIRED
>

<!-- MapAreas should be only defined for image objects with purpose Standard or Fullscreen -->
<!-- Id has been introduced with 4.2, is optional -->
<!ELEMENT MapArea (ExtLink | IntLink)>
<!ATTLIST MapArea
	Shape (Rect | Circle | Poly | WholePicture) #REQUIRED
	Coords CDATA #IMPLIED
	HighlightMode CDATA #IMPLIED
	HighlightClass CDATA #IMPLIED
	Id CDATA #IMPLIED
>

<!-- Text Representation -->
<!ELEMENT TextRepresentation (#PCDATA)>

<!ELEMENT Format (#PCDATA)>

<!ELEMENT Location (#PCDATA)>
<!ATTLIST Location
	Type (LocalFile | Reference) #REQUIRED
>

<!-- Interactive Image -->
<!ELEMENT InteractiveImage (MediaAlias, MediaAliasItem+, Trigger*, ContentPopup*)>
<!ELEMENT Trigger EMPTY>
<!ATTLIST Trigger
	Nr CDATA #REQUIRED
	Type (Area | Marker) #REQUIRED
	Title CDATA #IMPLIED
	OverlayX CDATA #IMPLIED
	OverlayY CDATA #IMPLIED
	MarkerX CDATA #IMPLIED
	MarkerY CDATA #IMPLIED
	Overlay CDATA #IMPLIED
	PopupNr CDATA #IMPLIED
	PopupX CDATA #IMPLIED
	PopupY CDATA #IMPLIED
	PopupWidth CDATA #IMPLIED
	PopupHeight CDATA #IMPLIED
>
<!ELEMENT ContentPopup (PageContent*)>
<!ATTLIST ContentPopup
	Nr CDATA #REQUIRED
	PCID CDATA #IMPLIED
	Title CDATA #IMPLIED
	ContentWidth CDATA #IMPLIED
	ContentHeight CDATA #IMPLIED
>

<!-- Question Overview -->
<!ELEMENT QuestionOverview EMPTY>
<!ATTLIST QuestionOverview
	ShortMessage (y | n) #IMPLIED
	ListWrongQuestions (y | n) #IMPLIED
>

<!-- Paragraph -->
<!-- All textual content of a PageObject has to be divided in single paragraphs -->
<!ELEMENT Paragraph (%text;)*>
<!ATTLIST Paragraph
	Language (%langcode;) #REQUIRED
	Characteristic CDATA #IMPLIED
	SubCharacteristic CDATA #IMPLIED
	AutoIndent (y | n) #IMPLIED
	ShowLineNumbers (y | n) #IMPLIED
	DownloadTitle CDATA #IMPLIED
>

<!-- br -->
<!ELEMENT br EMPTY>

<!-- Comment -->
<!ELEMENT Comment (%commenttext;)*>
<!ATTLIST Comment
	Language (%langcode;) #REQUIRED
>
<!-- Emph -->
<!ELEMENT Emph (%emphtext;)*>
<!ATTLIST Emph
	Reason (Intuition | MetaLanguageUse) #IMPLIED
>

<!-- Footnote -->
<!ELEMENT Footnote (%footnotetext;)*>
<!ATTLIST Footnote
	Creator (Editor | Translator | Author) #IMPLIED
>

<!-- Strong -->
<!ELEMENT Strong (%strongtext;)*>
<!ATTLIST Strong
	Reason (Intuition | MetaLanguageUse) #IMPLIED
>

<!-- Accent -->
<!ELEMENT Accent (%acctext;)*>

<!-- Important -->
<!ELEMENT Important (%imptext;)*>

<!-- Quotation -->
<!ELEMENT Quotation (%text;)*>
<!ATTLIST Quotation
	Language (%langcode;) #REQUIRED
	Reference IDREF #IMPLIED
>

<!-- Keyword -->
<!ELEMENT Keyw (%kwtext;)*>

<!-- Code -->
<!ELEMENT Code (%codetext;)*>
<!ATTLIST Code
	Id ID #IMPLIED
	ProgrammingLanguage CDATA #IMPLIED
>

<!-- Anchor -->
<!ELEMENT Anchor (%text;)*>
<!ATTLIST Anchor
	Name CDATA #IMPLIED
>

<!-- List -->
<!ELEMENT List (Title?, ListItem+)>
<!ATTLIST List
	Id ID #IMPLIED
	Type (Ordered | Unordered) #REQUIRED
	Class CDATA #IMPLIED
	NumberingType (Decimal | Roman | roman | Alphabetic | alphabetic | Number) #IMPLIED
	StartValue CDATA #IMPLIED
>
<!ELEMENT ListItem (PageContent*)>
<!ATTLIST ListItem
	PCID CDATA #IMPLIED
>

<!-- Simple Lists -->
<!ELEMENT SimpleBulletList (SimpleListItem*)>
<!ELEMENT SimpleNumberedList (SimpleListItem*)>
<!ELEMENT SimpleListItem (%text;)*>

<!-- FileList -->
<!ELEMENT FileList (Title?, FileItem*)>
<!ELEMENT FileItem (Identifier, Location, Format?)>
<!ATTLIST FileItem
	PCID CDATA #IMPLIED
	Class CDATA #IMPLIED
>

<!-- Table -->
<!-- Table model is some kind of a mixture of mimalized CALS and HTML dtd -->
<!-- Only a minimum of style elements and attributes defined -->
<!ELEMENT Table (Title?, Caption?, Summary?, TableRow+)>
<!ATTLIST Table
	Language (%langcode;) #REQUIRED
	Id ID #IMPLIED
	Width CDATA #IMPLIED
	Border CDATA #IMPLIED
	HorizontalAlign (Left | Center | Right | LeftFloat | RightFloat) #IMPLIED
	CellPadding CDATA #IMPLIED
	CellSpacing CDATA #IMPLIED
	Class CDATA #IMPLIED
	DataTable (y | n) #IMPLIED
	Template CDATA #IMPLIED
	HeaderRows CDATA #IMPLIED
	HeaderCols CDATA #IMPLIED
	FooterRows CDATA #IMPLIED
	FooterCols CDATA #IMPLIED
>
<!ELEMENT Caption (%titletext;)*>
<!ATTLIST Caption
	Align (top | bottom) #REQUIRED
>
<!ELEMENT Summary (%simpletext;)*>
<!ELEMENT TableRow (TableData+)>
<!ATTLIST TableRow
	PCID CDATA #IMPLIED
>

<!-- Table Cell. The Hidden Attribute must be set to "Y", if a cell is hidden due to anothers (non-hidden) cell
col or row span. -->
<!ELEMENT TableData (PageContent*)>
<!ATTLIST TableData
	Width CDATA #IMPLIED
	Class CDATA #IMPLIED
	PCID CDATA #IMPLIED
	ColSpan CDATA #IMPLIED
	RowSpan CDATA #IMPLIED
	HorizontalAlign (Left | Center | Right) #IMPLIED
	Hidden (Y | N) #IMPLIED
>

<!-- ExtLink -->
<!-- An element to link to _external_ resources outside the ILIAS system, e.g. to a web site-->
<!ELEMENT ExtLink (%linktext;)*>
<!ATTLIST ExtLink
	Href CDATA #IMPLIED
	Title CDATA #IMPLIED
	TargetFrame (Media | FAQ | Glossary | New) #IMPLIED
>

<!-- IntLink -->
<!ELEMENT IntLink (%linktext;)*>
<!ATTLIST IntLink
	Target CDATA #REQUIRED
	Type (StructureObject | PageObject | MediaObject | GlossaryItem | RepositoryItem | File | WikiPage) #REQUIRED
	TargetFrame (Media | FAQ | Glossary | New) #IMPLIED
	Anchor CDATA #IMPLIED
>

<!-- Question -->
<!ELEMENT Question EMPTY>
<!ATTLIST Question
	QRef CDATA #REQUIRED
>

<!-- PlaceHolder -->
<!ELEMENT PlaceHolder EMPTY>
<!ATTLIST PlaceHolder
	ContentClass (Media | Text | Question | Verification) #REQUIRED
	Width CDATA #IMPLIED
	Height CDATA #IMPLIED
>

<!-- Section -->
<!-- il_Block, il_Example, il_Special, il_Additional, il_Excursus -->
<!ELEMENT Section (PageContent*)>
<!ATTLIST Section
	Characteristic CDATA #IMPLIED
	PCID CDATA #IMPLIED
>

<!-- Resources -->
<!ELEMENT Resources (ResourceList | ItemGroup)>
<!ELEMENT ResourceList EMPTY>
<!ATTLIST ResourceList
	Type CDATA #REQUIRED
>
<!ELEMENT ItemGroup EMPTY>
<!ATTLIST ItemGroup
	RefId CDATA #REQUIRED
>

<!-- LoginPageElement -->
<!ELEMENT LoginPageElement EMPTY>
<!ATTLIST LoginPageElement
	Type CDATA #REQUIRED
	HorizontalAlign (Left | Center | Right | LeftFloat | RightFloat) #IMPLIED
>

<!-- Map -->
<!ELEMENT Map (Layout?, MapCaption?)>
<!ATTLIST Map
	Latitude CDATA #REQUIRED
	Longitude CDATA #REQUIRED
	Zoom CDATA #REQUIRED
>
<!ELEMENT MapCaption (%titletext;)*>

<!-- Plugged Component -->
<!ELEMENT Plugged (PluggedProperty*)>
<!ATTLIST Plugged
	PluginName CDATA #REQUIRED
	PluginVersion CDATA #REQUIRED
>
<!ELEMENT PluggedProperty (#PCDATA)>
<!-- <!ELEMENT PluggedProperty EMPTY> -->
<!ATTLIST PluggedProperty
	Name CDATA #REQUIRED
>

<!-- TabbedContent -->
<!ELEMENT Tabs (Tab*)>
<!ATTLIST Tabs
	Type (HorizontalAccordion | VerticalAccordion) #REQUIRED
	HorizontalAlign (Left | Center | Right | LeftFloat | RightFloat) #IMPLIED
	Behavior (AllClosed | FirstOpen | ForceAllOpen) #IMPLIED
	ContentWidth CDATA #IMPLIED
	ContentHeight CDATA #IMPLIED
	Template CDATA #IMPLIED
>
<!ELEMENT Tab (PageContent*, TabCaption?)>
<!ATTLIST Tab
	PCID CDATA #IMPLIED
>
<!ELEMENT TabCaption (%titletext;)*>

<!-- ContentInclude: Example: ContentId 13, ContentType: mep, InstId: ''-->
<!ELEMENT ContentInclude EMPTY>
<!ATTLIST ContentInclude
	ContentId CDATA #REQUIRED
	ContentType CDATA #REQUIRED
	InstId CDATA #IMPLIED
>

<!-- Layout -->
<!-- Layout information for formatting content output different from default layout -->
<!ELEMENT Layout EMPTY>
<!ATTLIST Layout
	HorizontalAlign (Left | Center | Right | LeftFloat | RightFloat) #IMPLIED
	Width CDATA #IMPLIED
	Height CDATA #IMPLIED
>
<!-- Parameter -->
<!-- Special parameters needed for MediaObjects, e.g. a starting class for Java objects; parameters depend on types of MediaObjects -->
<!ELEMENT Parameter EMPTY>
<!ATTLIST Parameter
	Name CDATA #REQUIRED
	Value CDATA #REQUIRED
>

<!-- BibItem -->
<!ELEMENT BibItem (Identifier, Language+, Author*, Booktitle, CrossRef*, Edition, Editor*, HowPublished, WherePublished*, Institution*, Journal?, Keyword*, Month?, Pages?, Publisher, School*, Series?, Year, (URL | (ISSN?, ISBN?)))>
<!ATTLIST BibItem
	Type (book | inbook | journalarticle | proceedings | inproceedings | dissertation | phdthesis | mastersthesis | techreport | manual | newspaperarticle | av | internet | unpublished) #REQUIRED
	Label ID #REQUIRED
>

<!ELEMENT Author (FirstName*, MiddleName*, LastName)>
<!ELEMENT Booktitle (#PCDATA)>
<!ATTLIST Booktitle
	Language (%langcode;) #REQUIRED
>
<!ELEMENT CrossRef (#PCDATA)>
<!ELEMENT Edition (#PCDATA)>
<!ELEMENT Editor (#PCDATA)>
<!ELEMENT HowPublished EMPTY>
<!ATTLIST HowPublished
	Type (GreyLiterature | Print | Internet) #REQUIRED
>
<!ELEMENT WherePublished (#PCDATA)>
<!ELEMENT Institution (#PCDATA)>
<!ELEMENT Journal (#PCDATA)>
<!ATTLIST Journal
	Note CDATA #IMPLIED
	Number CDATA #REQUIRED
	Organization CDATA #IMPLIED
>

<!ELEMENT Month (#PCDATA)>
<!ELEMENT Pages (#PCDATA)>
<!ELEMENT Publisher (#PCDATA)>
<!ELEMENT School (#PCDATA)>
<!ELEMENT Series (SeriesTitle, SeriesEditor*, SeriesVolume?)>
<!ELEMENT SeriesTitle (#PCDATA)>
<!ELEMENT SeriesEditor (#PCDATA)>
<!ELEMENT SeriesVolume (#PCDATA)>
<!ELEMENT Volume (#PCDATA)>
<!ELEMENT Year (#PCDATA)>

<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT ISSN (#PCDATA)>
<!ELEMENT URL (#PCDATA)>

<!ELEMENT LastName (#PCDATA)>
<!ELEMENT FirstName (#PCDATA)>
<!ELEMENT MiddleName (#PCDATA)>

<!ELEMENT Profile (ProfileField*)>
<!ATTLIST Profile
	User CDATA #REQUIRED
	Mode (manual | inherit) #REQUIRED
>

<!ELEMENT ProfileField EMPTY>
<!ATTLIST ProfileField
	Name CDATA #REQUIRED
>

<!ELEMENT Verification EMPTY>
<!ATTLIST Verification
	Type (excv | tstv | crsv | scov) #REQUIRED
	Id CDATA #REQUIRED
	User CDATA #REQUIRED
>

<!ELEMENT Blog (BlogPosting*)>
<!ATTLIST Blog
	User CDATA #REQUIRED
	Id CDATA #REQUIRED
>

<!ELEMENT BlogPosting EMPTY>
<!ATTLIST BlogPosting
	Id CDATA #REQUIRED
>

<!ELEMENT Skills EMPTY>
<!ATTLIST Skills
	Id CDATA #REQUIRED
	User CDATA #REQUIRED
>

<!ELEMENT ConsultationHours (ConsultationHoursGroup*)>
<!ATTLIST ConsultationHours
	Mode (auto | manual) #REQUIRED
	User CDATA #REQUIRED
>

<!ELEMENT ConsultationHoursGroup EMPTY>
<!ATTLIST ConsultationHoursGroup
	Id CDATA #REQUIRED
>

<!ELEMENT MyCourses EMPTY>
<!ATTLIST MyCourses
	User CDATA #REQUIRED
>

<!ELEMENT AMDPageList EMPTY>
<!ATTLIST AMDPageList
	Id CDATA #REQUIRED
>

<!ELEMENT InitOpenedContent (IntLink?)>


/*
 *  /MathJax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js
 *
 *  Copyright (c) 2012 Design Science, Inc.
 *
 *  Part of the MathJax library.
 *  See http://www.mathjax.org for details.
 *
 *  Licensed under the Apache License, Version 2.0;
 *  you may not use this file except in compliance with the License.
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 */

MathJax.OutputJax.SVG.FONTDATA.FONTS.MathJax_Typewriter={directory:"Typewriter/Regular",family:"MathJax_Typewriter",id:"MJTT",Ranges:[[0,127,"BasicLatin"],[128,65535,"Other"],[768,879,"CombDiacritMarks"]]};MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Main.js");


// Copyright © 2008-2020 Pioneer Developers. See AUTHORS.txt for details
// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt

#ifndef _FONTCACHE_H
#define _FONTCACHE_H

#include "RefCounted.h"
#include "text/TextureFont.h"
#include <map>
#include <string>

class FontCache {
public:
	FontCache() {}

	RefCountedPtr<Text::TextureFont> GetTextureFont(const std::string &name);

private:
	FontCache(const FontCache &);
	FontCache &operator=(const FontCache &);

	std::map<std::string, RefCountedPtr<Text::TextureFont>> m_textureFonts;
};

#endif


#include <stdio.h>
#include <math.h>

#define EPS 1e-9

double ha, hb, hc, a, b, c, t, s;
int n;

int solve()
{
	if (ha < EPS || hb < EPS || hc < EPS) return 1;

	a = 1.;
	b = ha / hb;
	c = ha / hc;

	if (a > (b + c - EPS)) return 1;
	if (b > (a + c - EPS)) return 1;
	if (c > (a + b - EPS)) return 1;

	t = hb / (2 * ha) + ha / (2 * hb) - ha * hb / (2 * hc * hc);
	if (t < (-1 - EPS) || t > (1 + EPS)) return 1;
	if (t < -1) t = -1;
	if (t > 1) t = 1;

	t = hb / sqrt(1 - t * t);
	a *= t;
	b *= t;
	c *= t;

	t = (a + b + c) / 2;
	s = sqrt(t * (t - a) * (t - b) * (t - c));
	if (s < EPS) return 1;

	return 0;
}

int main()
{
	for (scanf("%d", &n); n > 0 && scanf("%lf %lf %lf", &ha, &hb, &hc) == 3;)
		if (solve())
			n--, printf("These are invalid inputs!\n");
		else
			printf("%.3f\n", s);
	return 0;
}


# Make it more obvious that a PR is a work in progress and shouldn't be merged yet
warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]"

# Warn when there is a big PR
warn("Big PR") if git.lines_of_code > 500

swiftlint.config_file = ".swiftlint.yml"
swiftlint.lint_files

# Make a note about new contributors
unless github.api.collaborator?("thii/FontAwesome.swift", github.pr_author)
  message "@#{github.pr_author} is not a contributor yet, would you like to be a FontAwesome.swift maintainer?"
end


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>slave_hosts: common_schema documentation</title>
	<meta name="description" content="slave_hosts: common_schema" />
	<meta name="keywords" content="slave_hosts: common_schema" />
	<link rel="stylesheet" type="text/css" href="css/style.css" />

common_schema
 2.2 documentation

DBA's framework for MySQL

slave_hosts

NAME

slave_hosts: listing of hosts replicating from current server

TYPE

View

DESCRIPTION

slave_hosts lists host names where slaves of this server are located. The view utilizes
processlist_repl and looks for connections issued by replicating slaves.

No information is provided on the ports on which replicating slaves listen on.

STRUCTURE

mysql> DESC common_schema.slave_hosts;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| host  | varchar(64) | NO   |     |         |       |
+-------+-------------+------+-----+---------+-------+

SYNOPSIS

Columns of this view:

host: host name or IP address of replicating slave, as it appears on PROCESSLIST, without port number

EXAMPLES

Show slave hosts on a master machine:

mysql> SELECT * FROM common_schema.slave_hosts;
+-----------------+
| host            |
+-----------------+
| sql00.mydomain  |
| sql02.mydomain  |
+-----------------+

ENVIRONMENT

MySQL 5.1 or newer.

SEE ALSO

match_grantee(),
processlist_per_userhost,
processlist_repl,
processlist_summary

AUTHOR

Shlomi Noach

					Search online documentation
					<form id="search_form" name="search_form" method="GET"
						action="http://www.google.com/search"
						onsubmit="document.forms['search_form']['q'].value = 'site:http://common-schema.googlecode.com/svn/trunk/common_schema/doc/html/ '+document.forms['search_form']['search_term'].value;">
						<input type="text" name="search_term" value=""/>
						<input type="hidden" name="q" value=""/>
						<input type="submit" value="go"/>
					</form>

Introduction

Documentation

Download

Install

Risks

QUERY SCRIPT

QueryScript

Execution

Flow control

Statements

Expressions

Variables

DEBUG

rdebug

rdebug API

Workflow

ROUTINES

Execution & flow control

General

Process

Query analysis

Schema analysis

Security

Text

Time & date

Charting

VIEWS

Schema analysis

Data dimension

Process

Security

Monitoring

InnoDB Plugin

Percona Server

TokuDB

DATA

Tables

Variables

META

help

metadata

status

				common_schema documentation