text:
package com.tirthal.learning.oop.design.principles.clazz.solid.lsp.mediaplayer.bad;

/**
 * Example media player super class which has ability to play video and audio
 *
 * @author tirthalp
 */
public class MediaPlayer {

	// Play audio implementation
	public void playAudio() {
		System.out.println("Playing audio...");
	}

	// Play video implementation
	public void playVideo() {
		System.out.println("Playing video...");
	}
}


text:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.thinkaurelius.titan</groupId>
        <artifactId>titan-hbase-parent</artifactId>
        <version>1.1.0g-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>titan-hbase-094</artifactId>
    <name>Titan-HBase: 0.94 Compatibility Shim</name>
    <url>http://thinkaurelius.github.com/titan/</url>

    <properties>
        <hadoop.version>${hadoop1.version}</hadoop.version>
        <jruby.version>1.6.5</jruby.version>
        <hadoop.profile>1.0</hadoop.profile>
        <top.level.basedir>${project.parent.parent.basedir}</top.level.basedir>
    </properties>

    <dependencies>
        <dependency>
	    <groupId>${project.groupId}</groupId>
	    <artifactId>titan-hbase-core</artifactId>
	    <version>${project.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>commons-net</artifactId>
                    <groupId>commons-net</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
	    <groupId>${project.groupId}</groupId>
	    <artifactId>titan-hbase-core</artifactId>
	    <version>${project.version}</version>
            <classifier>tests</classifier>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase</artifactId>
            <version>${hbase094.version}</version>
            <optional>true</optional>
            <exclusions>
                <exclusion>
                    <artifactId>avro</artifactId>
                    <groupId>org.apache.avro</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>jruby-complete</artifactId>
                    <groupId>org.jruby</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>asm</artifactId>
                    <groupId>asm</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <!-- Override Titan's managed versions for some libs where HBase 0.94
         needs older versions.  See also maven-shade-plugin config below. -->
    <dependencyManagement>
        <dependencies>
            <!--
              HBase 0.94 master can't start with Guava 15.0 or newer:
              https://issues.apache.org/jira/browse/HBASE-10174
              This is marked "Won't Fix".  However, it just seems to
              need NullOutputStream, which is tiny and simple, and
              which was removed in 15.0.  Copying the 11.0.2 version
              of NullOutputStream into the titan-hbase-094 source tree,
              as awful as that is, seems to placate HBase when running
              with Guava 15.0.  So we no longer have a special version
              of Guava for HBase 0.94 here.

              We do still have to control protobuf though.
            -->
            <dependency>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
                <version>2.4.0a</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testResources>
            <testResource>
                <directory>${project.basedir}/../common/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>filter-hbase-conf</id>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>generate-cached-classpath</id>
                    </execution>
                    <execution>
                        <id>unpack-common-test-classes</id>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-hbase-bin</id>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <executions>
                    <execution>
                        <id>clean-hbase-files</id>
                    </execution>
                    <execution>
                        <id>clean-shade-pom</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <configuration>
                            <excludeDefaultDirectories>true</excludeDefaultDirectories>
                            <filesets>
                                <fileset>
                                    <directory>${project.basedir}</directory>
                                    <includes>
                                        <include>dependency-reduced-pom.xml</include>
                                    </includes>
                                </fileset>
                            </filesets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <executions>
                    <execution>
                        <id>default-deploy</id>
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.2</version>
                <executions>
                    <execution>
                        <!-- HBase 0.94 needs an older Protobuf version than newer HBase versions.
                             Running with a Protobuf version mismatch can lead to these at runtime:
                             UnsupportedOperationException: This is supposed to be overridden by subclasses.

                             HBase 0.94 also needs an older Guava version.  Guava's 18 months between
                             feature deprecation and feature removal sounds like a long time, but with
                             the number of dependencies in Titan that ultimately use Guava, it's
                             actually short enough to cause incompatibilities. -->
                        <id>shade-hbase-094-libs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <shadeTestJar>true</shadeTestJar>
                            <generateUniqueDependencyReducedPom>false</generateUniqueDependencyReducedPom>
                            <minimizeJar>false</minimizeJar>
			    <!-- false below  means the shade plugin overwrites the main project artifact (the one with no classifier).
                                 false does *not* actually detach the main artifact, despite what the option name suggests. -->
                            <shadedArtifactAttached>false</shadedArtifactAttached>
                            <artifactSet>
                                <includes>
                                    <include>com.google.protobuf:protobuf-java</include>
                                </includes>
                            </artifactSet>
                            <relocations>
                                <!-- Don't do this. The shade plugin relocates absolutely all classes and class
                                references with this kind of configuration. This results to garbage classfiles that contain
                                references to "titan03.java.lang.String", for example.
                                <relocation>
                                    <shadedPattern>titan03.</shadedPattern>
                                </relocation>
                                -->
                                <relocation>
                                    <pattern>com.google.protobuf</pattern>
                                    <shadedPattern>com.google.protobuf.protobuf240a</shadedPattern>
                                </relocation>
                            </relocations>
                            <!--
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/license/**</exclude>
                                        <exclude>META-INF/*</exclude>
                                        <exclude>META-INF/maven/**</exclude>
                                        <exclude>LICENSE</exclude>
                                        <exclude>NOTICE</exclude>
                                        <exclude>/*.txt</exclude>
                                        <exclude>build.properties</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                            -->
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <!-- For the HBase 0.94 releases, the HBase team only pushes Hadoop-1.x-compatible artifacts to Central.
                 This is why we depend on the Hadoop 1 profile when building the HBase 0.94 shim.  There's a Hadoop 2
                 profile in this pom, but you have to recompile HBase 0.94 manually (or get a Hadoop-2-compatible
                 HBase 0.94 artifact from some non-Apache vendor) before it's any use. -->
            <id>hadoop1</id>

            <activation>
                <property>
                    <name>!hadoop.profile</name>
                </property>
            </activation>

            <dependencies>
                <dependency>
                    <groupId>org.apache.hadoop</groupId>
                    <artifactId>hadoop-core</artifactId>
                    <version>${hadoop1.version}</version>
                    <optional>true</optional>
                </dependency>
                <dependency>
                    <artifactId>jruby-complete</artifactId>
                    <groupId>org.jruby</groupId>
                    <version>${jruby.version}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>hadoop2</id>

            <activation>
                <property>
                    <name>hadoop.profile</name>
                    <value>2.0</value>
                </property>
            </activation>

            <properties>
                <hadoop.version>${hadoop2.version}</hadoop.version>
            </properties>

            <dependencies>
                <dependency>
                    <groupId>org.apache.hadoop</groupId>
                    <artifactId>hadoop-annotations</artifactId>
                    <version>${hadoop2.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.hadoop</groupId>
                    <artifactId>hadoop-hdfs</artifactId>
                    <version>${hadoop2.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.hadoop</groupId>
                    <artifactId>hadoop-client</artifactId>
                    <version>${hadoop2.version}</version>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>mapr</id>

            <activation>
                <property>
                    <name>hadoop.profile</name>
                    <value>mapr-1.0</value>
                </property>
            </activation>

            <properties>
                <hbase094.version>0.94.12-mapr-1310</hbase094.version>
                <hadoop.version>1.0.3-mapr-3.0.2</hadoop.version>
                <zookeeper.version>3.4.5</zookeeper.version>
                <titan.hbase.mvn.opts.extra>-Dzookeeper.version=${zookeeper.version}</titan.hbase.mvn.opts.extra>
            </properties>
            <repositories>
                <repository>
                    <id>mapr-releases</id>
                    <url>http://repository.mapr.com/maven/</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                </repository>
            </repositories>
            <dependencies>
                <dependency>
                    <groupId>com.mapr.fs</groupId>
                    <artifactId>mapr-hbase</artifactId>
                    <version>${hadoop.version}</version>
                </dependency>
            </dependencies>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.hbase</groupId>
                        <artifactId>hbase</artifactId>
                        <version>${hbase094.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                        <version>${zookeeper.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>commons-configuration</groupId>
                        <artifactId>commons-configuration</artifactId>
                        <version>1.8</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>jetty-util</artifactId>
                        <version>6.1.26</version>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>
    </profiles>
</project>

redpajama_set_name: RedPajamaGithub


text:
;(function($) {
    "use strict";

    /*
        isClear 和 duration 主要用于处理iOS弹簧效果下无法触发transitionend回调函数的bug
        通过将isClear设为true后,指定duration时间后自动移除DOM节点以达到清理垃圾的作用
        duration默认为300毫秒,可根据CSS执行动画事件去配置大小
    */
    $.fn.transitionEnd = function(callback, isClear, duration) {
        var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'];
        var element = this;

        switch(typeof isClear) {
            case 'number':
                duration = arguments[1];
                isClear = undefined;
                break;
            case 'undefined':
                isClear = true;
                break;
        }

        function closureCallBack(e) {
            if (e.target !== this) return;
            callback.call(this, e);
            for (var i = 0; i < events.length; i++) {
                element.off(events[i], closureCallBack);
            }
        }

        if (callback) {
            for (var i = 0; i < events.length; i++) {
                element.on(events[i], closureCallBack);
            }
            // 解决iOS弹簧效果下无法触发事件的bug
            if($.browser.ios && isClear) {
                setTimeout(function() {
                    element.remove();
                }, duration || 300);
            }
        }
        return element;
    };

	$.fn.transform = function(transform) {
		for (var i = 0; i < this.length; i++) {
			var elStyle = this[i].style;
			elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;
		}
		return this;
	};

	$.fn.transition = function(duration) {
		if (typeof duration !== 'string') {
			duration = duration + 'ms';
		}
		for (var i = 0; i < this.length; i++) {
			var elStyle = this[i].style;
			elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;
		}
		return this;
	};

	$.getTranslate = function (el, axis) {
		var matrix, curTransform, curStyle, transformMatrix;

		// automatic axis detection
		if (typeof axis === 'undefined') {
			axis = 'x';
		}

		curStyle = window.getComputedStyle(el, null);
		if (window.WebKitCSSMatrix) {
			// Some old versions of Webkit choke when 'none' is passed; pass
			// empty string instead in this case
			transformMatrix = new WebKitCSSMatrix(curStyle.webkitTransform === 'none' ? '' : curStyle.webkitTransform);
		}
		else {
			transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform  || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
			matrix = transformMatrix.toString().split(',');
		}

		if (axis === 'x') {
			//Latest Chrome and webkits Fix
			if (window.WebKitCSSMatrix) {
				curTransform = transformMatrix.m41;
				//Crazy IE10 Matrix
			} else if (matrix.length === 16) {
				curTransform = parseFloat(matrix[12]);
				//Normal Browsers
			} else {
				curTransform = parseFloat(matrix[4]);
			}
		}

		if (axis === 'y') {
			//Latest Chrome and webkits Fix
			if (window.WebKitCSSMatrix) {
				curTransform = transformMatrix.m42;
				//Crazy IE10 Matrix
			} else if (matrix.length === 16) {
				curTransform = parseFloat(matrix[13]);
				//Normal Browsers
			} else {
				curTransform = parseFloat(matrix[5]);
			}
		}

		return curTransform || 0;
	};

	$.requestAnimationFrame = function (callback) {
		if (window.requestAnimationFrame) return window.requestAnimationFrame(callback);
		else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback);
		else if (window.mozRequestAnimationFrame) return window.mozRequestAnimationFrame(callback);
		else {
			return window.setTimeout(callback, 1000 / 60);
		}
	};

	$.cancelAnimationFrame = function (id) {
		if (window.cancelAnimationFrame) return window.cancelAnimationFrame(id);
		else if (window.webkitCancelAnimationFrame) return window.webkitCancelAnimationFrame(id);
		else if (window.mozCancelAnimationFrame) return window.mozCancelAnimationFrame(id);
		else {
			return window.clearTimeout(id);
		}
	};

})(Zepto);


text:
#include <QCoreApplication>
#include <QDir>
#include <QObject>
#include <QTest>

#include <qhttpengine/localfile.h>

const QString ApplicationName = "QHttpEngine";

class TestLocalFile : public QObject
{
    Q_OBJECT

private Q_SLOTS:

    void initTestCase();
    void testOpen();
};

void TestLocalFile::initTestCase()
{
    QCoreApplication::setApplicationName(ApplicationName);
}

void TestLocalFile::testOpen()
{
    QHttpEngine::LocalFile file;
    QVERIFY(file.open());
    QVERIFY(file.remove());
}

QTEST_MAIN(TestLocalFile)
#include "TestLocalFile.moc"


text:
UIKIT_EXTERN NSString *const kMomentRefreshViewObserveKeyPath;

typedef NS_ENUM(NSInteger ,WXMomentRefreshViewState)
{
    MomentRefreshViewState_Normal,
    MomentRefreshViewState_WillRefresh,
    MomentRefreshViewState_Refreshing
};

typedef void(^RefreshBlock)();

@interface WXMomentBaseRefreshView : UIView

@property (nonatomic, strong) UIScrollView              *scrollView;
@property (nonatomic, assign) UIEdgeInsets              scrollViewOriginalInsets;
@property (nonatomic, assign) WXMomentRefreshViewState  refreshState;
@property (nonatomic, copy) RefreshBlock                refreshBlock;

+ (instancetype)refreshViewWithScrollView:(UIScrollView *)scrollView RefreshBlock:(RefreshBlock)refreshBlock;

- (void)endRefreshing;

@end


text:
'use strict';

var clc     = require('cli-color');
var helpers = require(__dirname);

module.exports = {
  notifyAboutExistingFile: function (file) {
    helpers.view.error(
      'The file ' + clc.blueBright(file) + ' already exists. ' +
      'Run "sequelize model:create --force" to overwrite it.'
    );
  },

  transformAttributes: function (flag) {
    /*
      possible flag formats:
      - first_name:string,last_name:string,bio:text
      - 'first_name:string last_name:string bio:text'
      - 'first_name:string, last_name:string, bio:text'
    */

    var set    = flag.replace(/,/g, ' ').split(/\s+/);
    var result = {};

    set.forEach(function (pair) {
      var split = pair.split(':');

      result[split[0]] = split[1];
    });

    return result;
  },

  generateFileContent: function (args) {
    return helpers.template.render('models/model.js', {
      name:       args.name,
      attributes: this.transformAttributes(args.attributes),
      underscored: args.underscored
    });
  },

  generateFile: function (args) {
    var modelPath = helpers.path.getModelPath(args.name);

    helpers.asset.write(modelPath, this.generateFileContent(args));
  },

  modelFileExists: function (filePath) {
    return helpers.path.existsSync(filePath);
  }
};


text:
class AddIsDefaultToResourceBundles < ActiveRecord::Migration
  def self.up
    add_column :resource_bundles, :is_default, :boolean
  end

  def self.down
    remove_column :resource_bundles, :is_default
  end
end


text:
you've reached the right repository! these are a collection of python scripts I wrote to brute force solutions to math problems for a previously administered international-level mathematics competition.

# Instructions:

  - click the green button labeled "clone or download"
  - download the zip file
  - extract it
  - open your command prompt (Win+R type cmd)
  - navigate to the bash-modules folder (type cd _path-to-directory_)
  - type en\Scripts\activate.bat (this will set up a Python 2 virtual environment)
  - navigate to the modules folder (type cd modules)
  - execute the python scripts (python _file-name_) ((Problem_4.py is empty))
  - close the cmd window or type deactivate when you're done (it may take a while for your computer to bash the problems)


text:
layout: default
---

Canova Construction

Home

Projects

Why Us?

Contact

Renovations

Condominiums

Historical

New Homes

Page:

1

2

3

Many of our renovation projects require us to remove all of an existing
          buildings components back to the structural frame, often times as in the case
          of home construction we are also required to build additions onto the
          renovation. Renovation more than any other type of construction requires the
          most amount of experience and skill. The knowledge and effort required in
          attaching new materials to the old to achieve a seamless transition into
          whatever style, historic, modern or the existing is where Canova Construction
          excels and separates itself from other contractors. At Canova Construction we
          pride ourselves on our renovation abilities.

In new construction interpreting a one dimensional plan into a three
          dimensional structure is where the challenge lies. Design problems can develop
          as the building evolves and how to resolve those problems takes an experienced
          team of construction professionals. The famous architect Frank Lloyd Wright is
          quoted as saying "An architect's best tool is his eraser." At Canova
          Construction we feel our best tool is our creativity in finding design
          solutions.

      canovaconstruction.net © 2013
      Canova Construction


text:
using System.Collections.Generic;
using System.Linq;
using BruTile;
using Mapsui.Utilities;

namespace Mapsui.Tiling.Fetcher
{
    public class MinimalDataFetchStrategy : IDataFetchStrategy
    {
        public IList<TileInfo> Get(ITileSchema schema, Extent extent, int level)
        {
            return schema.GetTileInfos(extent, level).OrderBy(
                t => Algorithms.Distance(extent.CenterX, extent.CenterY, t.Extent.CenterX, t.Extent.CenterY)).ToList();
        }
    }
}


text:
from SimpleXMLRPCServer import SimpleXMLRPCServer
from SocketServer import ThreadingMixIn
class ThreadXMLRPCServer(ThreadingMixIn, SimpleXMLRPCServer):pass

total_req_cnt=0
total_res_cnt=0

def stat_total_req_cnt(req_cnt):
    total_req_cnt+=req_cnt
def total_req_cnt():
    return total_req_cnt
def stat_total_res_cnt(res_cnt):
    total_res_cnt+=req_cnt
def total_res_cnt():
    return total_res_cnt

#svr=SimpleXMLRPCServer(("", 4321), allow_none=True)
svr=ThreadXMLRPCServer(("", 4321), allow_none=True)
svr.register_function(stat_total_req_cnt)
svr.register_function(total_req_cnt)
svr.serve_forever()


text:
package org.lwjgl.vulkan;

import javax.annotation.*;

import java.nio.*;

import org.lwjgl.*;
import org.lwjgl.system.*;

import static org.lwjgl.system.MemoryUtil.*;
import static org.lwjgl.system.MemoryStack.*;

/**
 * Structure specifying sparse image memory bind.
 *
 *
Valid Usage

 *
 *

 *
If the {@code sparseResidencyAliased} feature is not enabled, and if any other resources are bound to ranges of {@code memory}, the range of {@code memory} being bound must not overlap with those bound ranges

 *
{@code memory} and {@code memoryOffset} must match the memory requirements of the calling command's {@code image}, as described in section Resource Memory Association

 *
{@code subresource} must be a valid image subresource for {@code image} (see Image Views)

 *
{@code offset.x} must be a multiple of the sparse image block width ({@link VkSparseImageFormatProperties}{@code ::imageGranularity.width}) of the image

 *
{@code extent.width} must either be a multiple of the sparse image block width of the image, or else (extent.width + offset.x) must equal the width of the image subresource

 *
{@code offset.y} must be a multiple of the sparse image block height ({@link VkSparseImageFormatProperties}{@code ::imageGranularity.height}) of the image

 *
{@code extent.height} must either be a multiple of the sparse image block height of the image, or else (extent.height + offset.y) must equal the height of the image subresource

 *
{@code offset.z} must be a multiple of the sparse image block depth ({@link VkSparseImageFormatProperties}{@code ::imageGranularity.depth}) of the image

 *
{@code extent.depth} must either be a multiple of the sparse image block depth of the image, or else (extent.depth + offset.z) must equal the depth of the image subresource

 *
If {@code memory} was created with {@link VkExportMemoryAllocateInfo}{@code ::handleTypes} not equal to 0, at least one handle type it contained must also have been set in {@link VkExternalMemoryImageCreateInfo}{@code ::handleTypes} when the image was created

 *
If {@code memory} was created by a memory import operation, the external handle type of the imported memory must also have been set in {@link VkExternalMemoryImageCreateInfo}{@code ::handleTypes} when {@code image} was created

 *

 *
 *
Valid Usage (Implicit)

 *
 *

 *
{@code subresource} must be a valid {@link VkImageSubresource} structure

 *
If {@code memory} is not {@link VK10#VK_NULL_HANDLE NULL_HANDLE}, {@code memory} must be a valid {@code VkDeviceMemory} handle

 *
{@code flags} must be a valid combination of {@code VkSparseMemoryBindFlagBits} values

 *

 *
 *
See Also

 *
 *
{@link VkExtent3D}, {@link VkImageSubresource}, {@link VkOffset3D}, {@link VkSparseImageMemoryBindInfo}

 *
 *
Layout

 *
 *

 * struct VkSparseImageMemoryBind {
 *     {@link VkImageSubresource VkImageSubresource} {@link #subresource};
 *     {@link VkOffset3D VkOffset3D} {@link #offset};
 *     {@link VkExtent3D VkExtent3D} {@link #extent};
 *     VkDeviceMemory {@link #memory};
 *     VkDeviceSize {@link #memoryOffset};
 *     VkSparseMemoryBindFlags {@link #flags};
 * }

 */
public class VkSparseImageMemoryBind extends Struct implements NativeResource {

    /** The struct size in bytes. */
    public static final int SIZEOF;

    /** The struct alignment in bytes. */
    public static final int ALIGNOF;

    /** The struct member offsets. */
    public static final int
        SUBRESOURCE,
        OFFSET,
        EXTENT,
        MEMORY,
        MEMORYOFFSET,
        FLAGS;

    static {
        Layout layout = __struct(
            __member(VkImageSubresource.SIZEOF, VkImageSubresource.ALIGNOF),
            __member(VkOffset3D.SIZEOF, VkOffset3D.ALIGNOF),
            __member(VkExtent3D.SIZEOF, VkExtent3D.ALIGNOF),
            __member(8),
            __member(8),
            __member(4)
        );

        SIZEOF = layout.getSize();
        ALIGNOF = layout.getAlignment();

        SUBRESOURCE = layout.offsetof(0);
        OFFSET = layout.offsetof(1);
        EXTENT = layout.offsetof(2);
        MEMORY = layout.offsetof(3);
        MEMORYOFFSET = layout.offsetof(4);
        FLAGS = layout.offsetof(5);
    }

    /**
     * Creates a {@code VkSparseImageMemoryBind} instance at the current position of the specified {@link ByteBuffer} container. Changes to the buffer's content will be
     * visible to the struct instance and vice versa.
     *
     *
The created instance holds a strong reference to the container object.

     */
    public VkSparseImageMemoryBind(ByteBuffer container) {
        super(memAddress(container), __checkContainer(container, SIZEOF));
    }

    @Override
    public int sizeof() { return SIZEOF; }

    /** the image aspect and region of interest in the image. */
    public VkImageSubresource subresource() { return nsubresource(address()); }
    /** are the coordinates of the first texel within the image subresource to bind. */
    public VkOffset3D offset() { return noffset(address()); }
    /** the size in texels of the region within the image subresource to bind. The extent must be a multiple of the sparse image block dimensions, except when binding sparse image blocks along the edge of an image subresource it can instead be such that any coordinate of offset + extent equals the corresponding dimensions of the image subresource. */
    public VkExtent3D extent() { return nextent(address()); }
    /** the {@code VkDeviceMemory} object that the sparse image blocks of the image are bound to. If {@code memory} is {@link VK10#VK_NULL_HANDLE NULL_HANDLE}, the sparse image blocks are unbound. */
    @NativeType("VkDeviceMemory")
    public long memory() { return nmemory(address()); }
    /** an offset into {@code VkDeviceMemory} object. If {@code memory} is {@link VK10#VK_NULL_HANDLE NULL_HANDLE}, this value is ignored. */
    @NativeType("VkDeviceSize")
    public long memoryOffset() { return nmemoryOffset(address()); }
    /** are sparse memory binding flags. */
    @NativeType("VkSparseMemoryBindFlags")
    public int flags() { return nflags(address()); }

    /** Copies the specified {@link VkImageSubresource} to the {@link #subresource} field. */
    public VkSparseImageMemoryBind subresource(VkImageSubresource value) { nsubresource(address(), value); return this; }
    /** Passes the {@link #subresource} field to the specified {@link java.util.function.Consumer Consumer}. */
    public VkSparseImageMemoryBind subresource(java.util.function.Consumer<VkImageSubresource> consumer) { consumer.accept(subresource()); return this; }
    /** Copies the specified {@link VkOffset3D} to the {@link #offset} field. */
    public VkSparseImageMemoryBind offset(VkOffset3D value) { noffset(address(), value); return this; }
    /** Passes the {@link #offset} field to the specified {@link java.util.function.Consumer Consumer}. */
    public VkSparseImageMemoryBind offset(java.util.function.Consumer<VkOffset3D> consumer) { consumer.accept(offset()); return this; }
    /** Copies the specified {@link VkExtent3D} to the {@link #extent} field. */
    public VkSparseImageMemoryBind extent(VkExtent3D value) { nextent(address(), value); return this; }
    /** Passes the {@link #extent} field to the specified {@link java.util.function.Consumer Consumer}. */
    public VkSparseImageMemoryBind extent(java.util.function.Consumer<VkExtent3D> consumer) { consumer.accept(extent()); return this; }
    /** Sets the specified value to the {@link #memory} field. */
    public VkSparseImageMemoryBind memory(@NativeType("VkDeviceMemory") long value) { nmemory(address(), value); return this; }
    /** Sets the specified value to the {@link #memoryOffset} field. */
    public VkSparseImageMemoryBind memoryOffset(@NativeType("VkDeviceSize") long value) { nmemoryOffset(address(), value); return this; }
    /** Sets the specified value to the {@link #flags} field. */
    public VkSparseImageMemoryBind flags(@NativeType("VkSparseMemoryBindFlags") int value) { nflags(address(), value); return this; }

    /** Initializes this struct with the specified values. */
    public VkSparseImageMemoryBind set(
        VkImageSubresource subresource,
        VkOffset3D offset,
        VkExtent3D extent,
        long memory,
        long memoryOffset,
        int flags
    ) {
        subresource(subresource);
        offset(offset);
        extent(extent);
        memory(memory);
        memoryOffset(memoryOffset);
        flags(flags);

        return this;
    }

    /**
     * Copies the specified struct data to this struct.
     *
     * @param src the source struct
     *
     * @return this struct
     */
    public VkSparseImageMemoryBind set(VkSparseImageMemoryBind src) {
        memCopy(src.address(), address(), SIZEOF);
        return this;
    }

    // -----------------------------------

    /** Returns a new {@code VkSparseImageMemoryBind} instance allocated with {@link MemoryUtil#memAlloc memAlloc}. The instance must be explicitly freed. */
    public static VkSparseImageMemoryBind malloc() {
        return wrap(VkSparseImageMemoryBind.class, nmemAllocChecked(SIZEOF));
    }

    /** Returns a new {@code VkSparseImageMemoryBind} instance allocated with {@link MemoryUtil#memCalloc memCalloc}. The instance must be explicitly freed. */
    public static VkSparseImageMemoryBind calloc() {
        return wrap(VkSparseImageMemoryBind.class, nmemCallocChecked(1, SIZEOF));
    }

    /** Returns a new {@code VkSparseImageMemoryBind} instance allocated with {@link BufferUtils}. */
    public static VkSparseImageMemoryBind create() {
        ByteBuffer container = BufferUtils.createByteBuffer(SIZEOF);
        return wrap(VkSparseImageMemoryBind.class, memAddress(container), container);
    }

    /** Returns a new {@code VkSparseImageMemoryBind} instance for the specified memory address. */
    public static VkSparseImageMemoryBind create(long address) {
        return wrap(VkSparseImageMemoryBind.class, address);
    }

    /** Like {@link #create(long) create}, but returns {@code null} if {@code address} is {@code NULL}. */
    @Nullable
    public static VkSparseImageMemoryBind createSafe(long address) {
        return address == NULL ? null : wrap(VkSparseImageMemoryBind.class, address);
    }

    /**
     * Returns a new {@link VkSparseImageMemoryBind.Buffer} instance allocated with {@link MemoryUtil#memAlloc memAlloc}. The instance must be explicitly freed.
     *
     * @param capacity the buffer capacity
     */
    public static VkSparseImageMemoryBind.Buffer malloc(int capacity) {
        return wrap(Buffer.class, nmemAllocChecked(__checkMalloc(capacity, SIZEOF)), capacity);
    }

    /**
     * Returns a new {@link VkSparseImageMemoryBind.Buffer} instance allocated with {@link MemoryUtil#memCalloc memCalloc}. The instance must be explicitly freed.
     *
     * @param capacity the buffer capacity
     */
    public static VkSparseImageMemoryBind.Buffer calloc(int capacity) {
        return wrap(Buffer.class, nmemCallocChecked(capacity, SIZEOF), capacity);
    }

    /**
     * Returns a new {@link VkSparseImageMemoryBind.Buffer} instance allocated with {@link BufferUtils}.
     *
     * @param capacity the buffer capacity
     */
    public static VkSparseImageMemoryBind.Buffer create(int capacity) {
        ByteBuffer container = __create(capacity, SIZEOF);
        return wrap(Buffer.class, memAddress(container), capacity, container);
    }

    /**
     * Create a {@link VkSparseImageMemoryBind.Buffer} instance at the specified memory.
     *
     * @param address  the memory address
     * @param capacity the buffer capacity
     */
    public static VkSparseImageMemoryBind.Buffer create(long address, int capacity) {
        return wrap(Buffer.class, address, capacity);
    }

    /** Like {@link #create(long, int) create}, but returns {@code null} if {@code address} is {@code NULL}. */
    @Nullable
    public static VkSparseImageMemoryBind.Buffer createSafe(long address, int capacity) {
        return address == NULL ? null : wrap(Buffer.class, address, capacity);
    }

    // -----------------------------------

    /** Deprecated for removal in 3.4.0. Use {@link #malloc(MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind mallocStack() { return malloc(stackGet()); }
    /** Deprecated for removal in 3.4.0. Use {@link #calloc(MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind callocStack() { return calloc(stackGet()); }
    /** Deprecated for removal in 3.4.0. Use {@link #malloc(MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind mallocStack(MemoryStack stack) { return malloc(stack); }
    /** Deprecated for removal in 3.4.0. Use {@link #calloc(MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind callocStack(MemoryStack stack) { return calloc(stack); }
    /** Deprecated for removal in 3.4.0. Use {@link #malloc(int, MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind.Buffer mallocStack(int capacity) { return malloc(capacity, stackGet()); }
    /** Deprecated for removal in 3.4.0. Use {@link #calloc(int, MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind.Buffer callocStack(int capacity) { return calloc(capacity, stackGet()); }
    /** Deprecated for removal in 3.4.0. Use {@link #malloc(int, MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind.Buffer mallocStack(int capacity, MemoryStack stack) { return malloc(capacity, stack); }
    /** Deprecated for removal in 3.4.0. Use {@link #calloc(int, MemoryStack)} instead. */
    @Deprecated public static VkSparseImageMemoryBind.Buffer callocStack(int capacity, MemoryStack stack) { return calloc(capacity, stack); }

    /**
     * Returns a new {@code VkSparseImageMemoryBind} instance allocated on the specified {@link MemoryStack}.
     *
     * @param stack the stack from which to allocate
     */
    public static VkSparseImageMemoryBind malloc(MemoryStack stack) {
        return wrap(VkSparseImageMemoryBind.class, stack.nmalloc(ALIGNOF, SIZEOF));
    }

    /**
     * Returns a new {@code VkSparseImageMemoryBind} instance allocated on the specified {@link MemoryStack} and initializes all its bits to zero.
     *
     * @param stack the stack from which to allocate
     */
    public static VkSparseImageMemoryBind calloc(MemoryStack stack) {
        return wrap(VkSparseImageMemoryBind.class, stack.ncalloc(ALIGNOF, 1, SIZEOF));
    }

    /**
     * Returns a new {@link VkSparseImageMemoryBind.Buffer} instance allocated on the specified {@link MemoryStack}.
     *
     * @param stack    the stack from which to allocate
     * @param capacity the buffer capacity
     */
    public static VkSparseImageMemoryBind.Buffer malloc(int capacity, MemoryStack stack) {
        return wrap(Buffer.class, stack.nmalloc(ALIGNOF, capacity * SIZEOF), capacity);
    }

    /**
     * Returns a new {@link VkSparseImageMemoryBind.Buffer} instance allocated on the specified {@link MemoryStack} and initializes all its bits to zero.
     *
     * @param stack    the stack from which to allocate
     * @param capacity the buffer capacity
     */
    public static VkSparseImageMemoryBind.Buffer calloc(int capacity, MemoryStack stack) {
        return wrap(Buffer.class, stack.ncalloc(ALIGNOF, capacity, SIZEOF), capacity);
    }

    // -----------------------------------

    /** Unsafe version of {@link #subresource}. */
    public static VkImageSubresource nsubresource(long struct) { return VkImageSubresource.create(struct + VkSparseImageMemoryBind.SUBRESOURCE); }
    /** Unsafe version of {@link #offset}. */
    public static VkOffset3D noffset(long struct) { return VkOffset3D.create(struct + VkSparseImageMemoryBind.OFFSET); }
    /** Unsafe version of {@link #extent}. */
    public static VkExtent3D nextent(long struct) { return VkExtent3D.create(struct + VkSparseImageMemoryBind.EXTENT); }
    /** Unsafe version of {@link #memory}. */
    public static long nmemory(long struct) { return UNSAFE.getLong(null, struct + VkSparseImageMemoryBind.MEMORY); }
    /** Unsafe version of {@link #memoryOffset}. */
    public static long nmemoryOffset(long struct) { return UNSAFE.getLong(null, struct + VkSparseImageMemoryBind.MEMORYOFFSET); }
    /** Unsafe version of {@link #flags}. */
    public static int nflags(long struct) { return UNSAFE.getInt(null, struct + VkSparseImageMemoryBind.FLAGS); }

    /** Unsafe version of {@link #subresource(VkImageSubresource) subresource}. */
    public static void nsubresource(long struct, VkImageSubresource value) { memCopy(value.address(), struct + VkSparseImageMemoryBind.SUBRESOURCE, VkImageSubresource.SIZEOF); }
    /** Unsafe version of {@link #offset(VkOffset3D) offset}. */
    public static void noffset(long struct, VkOffset3D value) { memCopy(value.address(), struct + VkSparseImageMemoryBind.OFFSET, VkOffset3D.SIZEOF); }
    /** Unsafe version of {@link #extent(VkExtent3D) extent}. */
    public static void nextent(long struct, VkExtent3D value) { memCopy(value.address(), struct + VkSparseImageMemoryBind.EXTENT, VkExtent3D.SIZEOF); }
    /** Unsafe version of {@link #memory(long) memory}. */
    public static void nmemory(long struct, long value) { UNSAFE.putLong(null, struct + VkSparseImageMemoryBind.MEMORY, value); }
    /** Unsafe version of {@link #memoryOffset(long) memoryOffset}. */
    public static void nmemoryOffset(long struct, long value) { UNSAFE.putLong(null, struct + VkSparseImageMemoryBind.MEMORYOFFSET, value); }
    /** Unsafe version of {@link #flags(int) flags}. */
    public static void nflags(long struct, int value) { UNSAFE.putInt(null, struct + VkSparseImageMemoryBind.FLAGS, value); }

    // -----------------------------------

    /** An array of {@link VkSparseImageMemoryBind} structs. */
    public static class Buffer extends StructBuffer<VkSparseImageMemoryBind, Buffer> implements NativeResource {

        private static final VkSparseImageMemoryBind ELEMENT_FACTORY = VkSparseImageMemoryBind.create(-1L);

        /**
         * Creates a new {@code VkSparseImageMemoryBind.Buffer} instance backed by the specified container.
         *
         * Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
         * will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
         * by {@link VkSparseImageMemoryBind#SIZEOF}, and its mark will be undefined.
         *
         *
The created buffer instance holds a strong reference to the container object.

         */
        public Buffer(ByteBuffer container) {
            super(container, container.remaining() / SIZEOF);
        }

        public Buffer(long address, int cap) {
            super(address, null, -1, 0, cap, cap);
        }

        Buffer(long address, @Nullable ByteBuffer container, int mark, int pos, int lim, int cap) {
            super(address, container, mark, pos, lim, cap);
        }

        @Override
        protected Buffer self() {
            return this;
        }

        @Override
        protected VkSparseImageMemoryBind getElementFactory() {
            return ELEMENT_FACTORY;
        }

        /** @return a {@link VkImageSubresource} view of the {@link VkSparseImageMemoryBind#subresource} field. */
        public VkImageSubresource subresource() { return VkSparseImageMemoryBind.nsubresource(address()); }
        /** @return a {@link VkOffset3D} view of the {@link VkSparseImageMemoryBind#offset} field. */
        public VkOffset3D offset() { return VkSparseImageMemoryBind.noffset(address()); }
        /** @return a {@link VkExtent3D} view of the {@link VkSparseImageMemoryBind#extent} field. */
        public VkExtent3D extent() { return VkSparseImageMemoryBind.nextent(address()); }
        /** @return the value of the {@link VkSparseImageMemoryBind#memory} field. */
        @NativeType("VkDeviceMemory")
        public long memory() { return VkSparseImageMemoryBind.nmemory(address()); }
        /** @return the value of the {@link VkSparseImageMemoryBind#memoryOffset} field. */
        @NativeType("VkDeviceSize")
        public long memoryOffset() { return VkSparseImageMemoryBind.nmemoryOffset(address()); }
        /** @return the value of the {@link VkSparseImageMemoryBind#flags} field. */
        @NativeType("VkSparseMemoryBindFlags")
        public int flags() { return VkSparseImageMemoryBind.nflags(address()); }

        /** Copies the specified {@link VkImageSubresource} to the {@link VkSparseImageMemoryBind#subresource} field. */
        public VkSparseImageMemoryBind.Buffer subresource(VkImageSubresource value) { VkSparseImageMemoryBind.nsubresource(address(), value); return this; }
        /** Passes the {@link VkSparseImageMemoryBind#subresource} field to the specified {@link java.util.function.Consumer Consumer}. */
        public VkSparseImageMemoryBind.Buffer subresource(java.util.function.Consumer<VkImageSubresource> consumer) { consumer.accept(subresource()); return this; }
        /** Copies the specified {@link VkOffset3D} to the {@link VkSparseImageMemoryBind#offset} field. */
        public VkSparseImageMemoryBind.Buffer offset(VkOffset3D value) { VkSparseImageMemoryBind.noffset(address(), value); return this; }
        /** Passes the {@link VkSparseImageMemoryBind#offset} field to the specified {@link java.util.function.Consumer Consumer}. */
        public VkSparseImageMemoryBind.Buffer offset(java.util.function.Consumer<VkOffset3D> consumer) { consumer.accept(offset()); return this; }
        /** Copies the specified {@link VkExtent3D} to the {@link VkSparseImageMemoryBind#extent} field. */
        public VkSparseImageMemoryBind.Buffer extent(VkExtent3D value) { VkSparseImageMemoryBind.nextent(address(), value); return this; }
        /** Passes the {@link VkSparseImageMemoryBind#extent} field to the specified {@link java.util.function.Consumer Consumer}. */
        public VkSparseImageMemoryBind.Buffer extent(java.util.function.Consumer<VkExtent3D> consumer) { consumer.accept(extent()); return this; }
        /** Sets the specified value to the {@link VkSparseImageMemoryBind#memory} field. */
        public VkSparseImageMemoryBind.Buffer memory(@NativeType("VkDeviceMemory") long value) { VkSparseImageMemoryBind.nmemory(address(), value); return this; }
        /** Sets the specified value to the {@link VkSparseImageMemoryBind#memoryOffset} field. */
        public VkSparseImageMemoryBind.Buffer memoryOffset(@NativeType("VkDeviceSize") long value) { VkSparseImageMemoryBind.nmemoryOffset(address(), value); return this; }
        /** Sets the specified value to the {@link VkSparseImageMemoryBind#flags} field. */
        public VkSparseImageMemoryBind.Buffer flags(@NativeType("VkSparseMemoryBindFlags") int value) { VkSparseImageMemoryBind.nflags(address(), value); return this; }

    }

}


text:
from setuptools import setup, find_packages
import sys, os

here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.rst')).read()
NEWS = open(os.path.join(here, 'NEWS.txt')).read()

version = '0.0.1'

install_requires = [
    # List your project dependencies here.
    # For more details, see:
    # http://packages.python.org/distribute/setuptools.html#declaring-dependencies
    'gffutils',
    'pyfasta',
    'xlrd',
    'docopt',
    'arrow',
]

dependency_links = [
    #"git+ssh://git@github.com/xguse/sanitize.git@master#egg=sanitize"
]

setup(name='spartan',
    version=version,
    description="A spartan bioinformatics package, providing only the essentials and nothing fancy or luxurious. Enough to get the job done quickly without flourish.",
    long_description=README + '\n\n' + NEWS,
    classifiers=[
      # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
    ],
    keywords='bioinformatics basic parsers functions fasta fastq PSSM PWM utilities',
    author='Augustine Dunn',
    author_email='wadunn83@gmail.com',
    url='https://github.com/xguse',
    license='GPL3',
    packages=find_packages('src'),
    package_dir={'': 'src'}, include_package_data=True,
    zip_safe=False,
    install_requires=install_requires,
    entry_points={
        'console_scripts':
            #['spartan=spartan:main']
            ['xls_to_csvs=spartan.scripts.xls_to_csvs:main']
    }
)


text:
Login

<form class="register-form">

			Username:

			<input type="text" class="col-il-8 form-control " placeholder="Username" ng-model="username" autofocus />

		{{ Message }}

	<button class="btn btn-primary btn-lg btn-block" id="btnRegister" ng-click="requestReset()">Request Reset</button>
</form>


text:
UINT GetCLRMBRTLStyle()
{
    WRAPPER_NO_CONTRACT;

    UINT mbStyle = 0;
    WCHAR buff[MAX_LONGPATH];
    if(SUCCEEDED(UtilLoadStringRC(IDS_RTL, buff, MAX_LONGPATH, true))) {
        if(wcscmp(buff, W("RTL_True")) == 0) {
            mbStyle = 0x00080000 |0x00100000; // MB_RIGHT || MB_RTLREADING
        }
    }
    return mbStyle;
}

#endif //!defined(SELF_NO_HOST) && !defined(FEATURE_CORECLR)

BOOL ShouldDisplayMsgBoxOnCriticalFailure()
{
    CONTRACTL
    {
        NOTHROW;
    }
    CONTRACTL_END;

#ifdef _DEBUG
    // To help find issues, we will always display dialogs for critical failures
    // under debug builds. This includes asserts and other critical issues.
   return TRUE;
#else
    // Retrieve error mode
    UINT last = SetErrorMode(0);
    SetErrorMode(last);         //set back to previous value

    // SEM_FAILCRITICALERRORS indicates that the system does not display the critical-error-handler
    // message box. Instead, the system sends the error to the calling process.
    return !(last & SEM_FAILCRITICALERRORS);
#endif // _DEBUG
}

#if !defined(FEATURE_CORESYSTEM) && !defined(FEATURE_CORECLR)
enum ProbedTaskDialogIndirectState
{
    ProbedTaskDialogIndirectState_NotProbed = 0,
    ProbedTaskDialogIndirectState_NotAvailable = 1,
    ProbedTaskDialogIndirectState_Available = 2
};

static ProbedTaskDialogIndirectState siProbedTaskDialogIndirect = ProbedTaskDialogIndirectState_NotProbed;
#endif // !FEATURE_CORESYSTEM && !FEATURE_CORECLR

// We'd like to use TaskDialogIndirect for asserts coming from managed code in particular
// to display the detailedText in a scrollable way.  Also, we'd like to reuse the CLR's
// plumbing code for the rest of parts of the assert dialog.  Note that the simple
// Win32 MessageBox does not support the detailedText value.
// If we later refactor MessageBoxImpl into its own DLL, move the lines referencing
// "Microsoft.Windows.Common-Controls" version 6 in stdafx.h as well.
int MessageBoxImpl(
                  HWND hWnd,            // Handle to Owner Window
                  LPCWSTR message,      // Message
                  LPCWSTR title,        // Dialog box title
                  LPCWSTR detailedText, // Details like a stack trace, etc.
                  UINT uType)
{
    CONTRACTL
    {
        // May pump messages.  Callers should be GC_TRIGGERS and MODE_PREEMPTIVE,
        // but we can't include EE contracts here.
        THROWS;
        INJECT_FAULT(return IDCANCEL;);

        // Assert if none of MB_ICON is set
        PRECONDITION((uType & MB_ICONMASK) != 0);
    }
    CONTRACTL_END;

#if defined(FEATURE_CORESYSTEM) || defined (FEATURE_CORECLR)
    return WszMessageBox(hWnd, message, title, uType);
#else
    bool mustUseMessageBox = false;  // Mac, Silverlight, pre-Vista?  Do we support this type of message box?
    decltype(TaskDialogIndirect)* pfnTaskDialogIndirect = NULL;
    ULONG_PTR cookie = NULL;  // For activation context.
    bool activatedActivationContext = false;
    HModuleHolder hmodComctl32;
    HANDLE hActCtx = INVALID_HANDLE_VALUE;

    // Note: TaskDialogIndirect is only in the v6 and above versions of comctl32.  Windows
    // stores that library in the WinSxS directory in a directory with
    // "Microsoft.Windows.Common-Controls" in the name.  Your application can only see
    // this library if the linker has added a manifest dependency on the V6 common controls
    // to your application.  Or, you can create an activation context to make this work,
    // if your library also has the appropriate manifest dependency.
    // Also, I'm not going to leave comctl32.dll mapped, to ensure it can't somehow
    // interfere with older versions.  Therefore, re-load comctl32.dll every time through
    // this method.  We will record whether TaskDialogIndirect is available though, so
    // we can fall back to MessageBox faster.

    // We don't yet have a perfect mapping from all MessageBox behavior to TaskDialogIndirect behavior.
    // Use MessageBox to avoid most of this complexity.
    if (((uType & MB_ICONMASK) != MB_ICONWARNING) && (uType & MB_ICONMASK) != MB_ICONERROR  ||
        (uType & MB_TYPEMASK) != MB_ABORTRETRYIGNORE ||
        (uType & MB_DEFMASK) != 0 ||
        (uType & MB_MODEMASK) != 0 ||
        (uType & MB_MISCMASK) != 0)
        mustUseMessageBox = true;
    else if (mustUseMessageBox || siProbedTaskDialogIndirect == ProbedTaskDialogIndirectState_NotAvailable)
        mustUseMessageBox = true;
    else {
        // Replace our application's ActivationContext temporarily, load comctl32
        // & look for TaskDialogIndirect.  Don't cache pointer.
        // The following code was suggested by some Windows experts.  We do not want
		// to add a manifest to our library saying we use comctl32 v6, because that
		// will mean loading a lot of extra libraries on startup (a significant perf hit).
		// We could either store the manifest as a resource, or more creatively since
		// we are effectively a Windows component, rely on %windir%\WindowsShell.manifest.
        ACTCTX ctx = { sizeof(ACTCTX) };
        ctx.dwFlags = 0;
        StackSString manifestPath;  // Point this at %windir%\WindowsShell.manifest, for comctl32 version 6.
        UINT numChars = WszGetWindowsDirectory(manifestPath.OpenUnicodeBuffer(MAX_PATH_FNAME), MAX_PATH_FNAME);
        if (numChars == 0 || numChars >= MAX_PATH_FNAME)
        {
            _ASSERTE(0);  // How did this fail?
        }
        else {
            manifestPath.CloseBuffer(numChars);
            if (manifestPath[manifestPath.GetCount() - 1] != W('\\'))
                manifestPath.Append(W('\\'));
            manifestPath.Append(W("WindowsShell.manifest"));  // Other Windows components have already loaded this.
            ctx.lpSource = manifestPath.GetUnicode();
            hActCtx = CreateActCtx(&ctx);
            if (hActCtx != INVALID_HANDLE_VALUE)
            {
                if (!ActivateActCtx(hActCtx, &cookie))
                {
                    cookie = NULL;
                    _ASSERTE(0);  // Why did ActivateActCtx fail?  (We'll continue executing & cope with the failure.)
                }
                else {
                    activatedActivationContext = true;
                    // Activation context was replaced - now we can load comctl32 version 6.
                    hmodComctl32 = WszLoadLibrary(W("comctl32.dll"));

                    if (hmodComctl32 != INVALID_HANDLE_VALUE) {
                        pfnTaskDialogIndirect = (decltype(TaskDialogIndirect)*)GetProcAddress(hmodComctl32, "TaskDialogIndirect");
                        if (pfnTaskDialogIndirect == NULL) {
                            hmodComctl32.Release();
                        }
                    }
                }
            }
        }

        siProbedTaskDialogIndirect = (pfnTaskDialogIndirect == NULL) ? ProbedTaskDialogIndirectState_NotAvailable : ProbedTaskDialogIndirectState_Available;
        mustUseMessageBox = (pfnTaskDialogIndirect == NULL);
    }

    int result = MB_OK;
    if (mustUseMessageBox) {
        result = WszMessageBox(hWnd, message, title, uType);
    }
    else {
        _ASSERTE(pfnTaskDialogIndirect != NULL);
        int nButtonPressed                  = 0;
        TASKDIALOGCONFIG config             = {0};
        config.cbSize                       = sizeof(config);
        config.hwndParent                   = hWnd;
        config.dwCommonButtons              = 0;
        config.pszWindowTitle               = title;
        config.dwFlags                      = (uType & MB_RTLREADING) ? TDF_RTL_LAYOUT : 0;

        // Set the user-visible icon in the window.
        _ASSERTE(((uType & MB_ICONMASK) == MB_ICONWARNING) || ((uType & MB_ICONMASK) == MB_ICONERROR));
        config.pszMainIcon                  = ((uType & MB_ICONMASK) == MB_ICONWARNING) ? TD_WARNING_ICON : TD_ERROR_ICON;

        config.pszMainInstruction           = title;
        config.pszContent                   = message;
        config.pszExpandedInformation       = detailedText;

        // Set up the buttons
        // Note about button hot keys: Windows keeps track of of where the last input came from
        // (ie, mouse or keyboard).  If you use the mouse to interact w/ one dialog box and then use
        // the keyboard, the next dialog will not include hot keys.  This is a Windows feature to
        // minimize clutter on the screen for mouse users.
        _ASSERTE((uType & MB_TYPEMASK) == MB_ABORTRETRYIGNORE);
        StackSString abortLabel, debugLabel, ignoreLabel;
        const WCHAR *pAbortLabel, *pDebugLabel, *pIgnoreLabel;

        if (abortLabel.LoadResource(CCompRC::Optional, IDS_DIALOG_BOX_ABORT_BUTTON))
            pAbortLabel = abortLabel.GetUnicode();
        else
            pAbortLabel = W("&Abort");
        if (debugLabel.LoadResource(CCompRC::Optional, IDS_DIALOG_BOX_DEBUG_BUTTON))
            pDebugLabel = debugLabel.GetUnicode();
        else
            pDebugLabel = W("&Debug");
        if (ignoreLabel.LoadResource(CCompRC::Optional, IDS_DIALOG_BOX_IGNORE_BUTTON))
            pIgnoreLabel = ignoreLabel.GetUnicode();
        else
            pIgnoreLabel = W("&Ignore");

        const TASKDIALOG_BUTTON abortDebugIgnoreButtons[] = {
            { IDOK, pAbortLabel },
            { IDRETRY, pDebugLabel },
            { IDIGNORE, pIgnoreLabel }
        };
        config.pButtons = abortDebugIgnoreButtons;
        config.cButtons = 3;

        HRESULT hr = pfnTaskDialogIndirect(&config, &nButtonPressed, NULL, NULL);
        _ASSERTE(hr == S_OK);
        if (hr == S_OK) {
            result = nButtonPressed;
        }
        else {
            result = IDOK;
        }

        _ASSERTE(result == IDOK || result == IDRETRY || result == IDIGNORE);
    }

    if (activatedActivationContext) {
        DeactivateActCtx(0, cookie);
        ReleaseActCtx(hActCtx);  // perf isn't important so we won't bother caching the actctx
    }

    return result;
#endif
}

int UtilMessageBoxVA(
                  HWND hWnd,        // Handle to Owner Window
                  UINT uText,       // Resource Identifier for Text message
                  UINT uTitle,      // Resource Identifier for Title
                  UINT uType,       // Style of MessageBox
                  BOOL displayForNonInteractive,    // Display even if the process is running non interactive
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  va_list args)     // Additional Arguments
{
    CONTRACTL
    {
        NOTHROW;
        INJECT_FAULT(return IDCANCEL;);
    }
    CONTRACTL_END;

    SString text;
    SString title;
    int result = IDCANCEL;

    EX_TRY
    {
        text.LoadResource(CCompRC::Error, uText);
        title.LoadResource(CCompRC::Error, uTitle);

        result = UtilMessageBoxNonLocalizedVA(hWnd, (LPWSTR)text.GetUnicode(),
            (LPWSTR)title.GetUnicode(), uType, displayForNonInteractive, showFileNameInTitle, NULL, args);
    }
    EX_CATCH
    {
        result = IDCANCEL;
    }
    EX_END_CATCH(SwallowAllExceptions);

    return result;
}

int UtilMessageBoxNonLocalizedVA(
                  HWND hWnd,        // Handle to Owner Window
                  LPCWSTR lpText,   // Text message
                  LPCWSTR lpTitle,  // Title
                  UINT uType,       // Style of MessageBox
                  BOOL displayForNonInteractive,    // Display even if the process is running non interactive
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  BOOL * pInputFromUser,            // To distinguish between user pressing abort vs. assuming abort.
                  va_list args)     // Additional Arguments
{
    CONTRACTL
    {
        NOTHROW;
        INJECT_FAULT(return IDCANCEL;);

        // Assert if none of MB_ICON is set
        PRECONDITION((uType & MB_ICONMASK) != 0);
    }
    CONTRACTL_END;

    return UtilMessageBoxNonLocalizedVA(hWnd, lpText, lpTitle, NULL, uType, displayForNonInteractive, showFileNameInTitle, pInputFromUser, args);
}

int UtilMessageBoxNonLocalizedVA(
                  HWND hWnd,        // Handle to Owner Window
                  LPCWSTR lpText,   // Text message
                  LPCWSTR lpTitle,  // Title
                  LPCWSTR lpDetails,// Details like a stack trace, etc.
                  UINT uType,       // Style of MessageBox
                  BOOL displayForNonInteractive,    // Display even if the process is running non interactive
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  BOOL * pInputFromUser,            // To distinguish between user pressing abort vs. assuming abort.
                  va_list args)     // Additional Arguments
{
    CONTRACTL
    {
        NOTHROW;
        INJECT_FAULT(return IDCANCEL;);

        // Assert if none of MB_ICON is set
        PRECONDITION((uType & MB_ICONMASK) != 0);
    }
    CONTRACTL_END;

    int result = IDCANCEL;
	if (pInputFromUser != NULL)
	{
        *pInputFromUser = FALSE;
	}

    EX_TRY
    {
        StackSString formattedMessage;
        StackSString formattedTitle;
        SString details(lpDetails);
        StackSString fileName;
        BOOL fDisplayMsgBox = TRUE;

        // Format message string using optional parameters
        formattedMessage.VPrintf(lpText, args);

        // Try to get filename of Module and add it to title
        if (showFileNameInTitle && WszGetModuleFileName(NULL, fileName.OpenUnicodeBuffer(MAX_LONGPATH), MAX_LONGPATH))
        {
            LPCWSTR wszName = NULL;
            size_t cchName = 0;

            // Close the buffer we opened before the call to WszGetModuleFileName.
            fileName.CloseBuffer();

            SplitPathInterior(fileName, NULL, NULL, NULL, NULL, &wszName, &cchName, NULL, NULL);
            formattedTitle.Printf(W("%s - %s"), wszName, lpTitle);
        }
        else
        {
            formattedTitle.Set(lpTitle);
        }

#if !defined(FEATURE_UTILCODE_NO_DEPENDENCIES)
        // If the current process isn't interactive (a service for example), then we report the message
        // in the event log and via OutputDebugString.
        //
        // We may still however attempt to display the message box if the MB_SERVICE_NOTIFICATION
        // message box style was specified.
        if (!RunningInteractive())
        {
            HANDLE h;
            StackSString message;

            message.Printf(W(".NET Runtime version : %s - "), VER_FILEVERSION_STR_L);
            if (lpTitle)
                message.Append(lpTitle);
            if (!formattedMessage.IsEmpty())
                message.Append(formattedMessage);

            ClrReportEvent(W(".NET Runtime"),
                EVENTLOG_ERROR_TYPE,    // event type
                0,                      // category zero
                1024,                   // event identifier
                NULL,                   // no user security identifier
                message.GetUnicode());

            if(lpTitle != NULL)
                WszOutputDebugString(lpTitle);
            if(!formattedMessage.IsEmpty())
                WszOutputDebugString(formattedMessage);

            // If we are running as a service and displayForNonInteractive is FALSE then IDABORT is
            // the best value to return as it will most likely cause callers of this API to abort the process.
            // This is the right thing to do since attaching a debugger doesn't make much sense when the process isn't
            // running in interactive mode.
            if(!displayForNonInteractive)
            {
                fDisplayMsgBox = FALSE;
                result = IDABORT;
            }
            else
            {
                // Include in the MB_DEFAULT_DESKTOP_ONLY style.
                uType |= MB_DEFAULT_DESKTOP_ONLY;
            }
        }
#endif //!defined(FEATURE_UTILCODE_NO_DEPENDENCIES)

        if (fDisplayMsgBox)
        {
            // We normally want to set the reading direction (right-to-left etc.) based on the resources
            // in use.  However, outside the CLR (SELF_NO_HOST) we can't assume we have resources and
            // in CORECLR we can't even necessarily expect that our CLR callbacks have been initialized.
            // This code path is used for ASSERT dialogs.
#if !defined(SELF_NO_HOST) && !defined(FEATURE_CORECLR)
            uType |= GetCLRMBRTLStyle();
#endif

            result = MessageBoxImpl(hWnd, formattedMessage, formattedTitle, details, uType);

            if (pInputFromUser != NULL)
            {
                *pInputFromUser = TRUE;
            }
        }
    }
    EX_CATCH
    {
        result = IDCANCEL;
    }
    EX_END_CATCH(SwallowAllExceptions);

    return result;
}

int UtilMessageBox(
                  HWND hWnd,        // Handle to Owner Window
                  UINT uText,       // Resource Identifier for Text message
                  UINT uTitle,      // Resource Identifier for Title
                  UINT uType,       // Style of MessageBox
                  BOOL displayForNonInteractive,    // Display even if the process is running non interactive
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  ...)              // Additional Arguments
{
    CONTRACTL
    {
        NOTHROW;
    }
    CONTRACTL_END;

    va_list marker;
    va_start(marker, showFileNameInTitle);

    int result = UtilMessageBoxVA(hWnd, uText, uTitle, uType, displayForNonInteractive, showFileNameInTitle, marker);
    va_end( marker );

    return result;
}

int UtilMessageBoxNonLocalized(
                  HWND hWnd,        // Handle to Owner Window
                  LPCWSTR lpText,   // Text message
                  LPCWSTR lpTitle,  // Title message
                  UINT uType,       // Style of MessageBox
                  BOOL displayForNonInteractive,    // Display even if the process is running non interactive
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  ... )             // Additional Arguments
{
    CONTRACTL
    {
        NOTHROW;
    }
    CONTRACTL_END;

    va_list marker;
    va_start(marker, showFileNameInTitle);

    int result = UtilMessageBoxNonLocalizedVA(
        hWnd, lpText, lpTitle, uType, displayForNonInteractive, showFileNameInTitle, NULL, marker);
    va_end( marker );

    return result;
}

int UtilMessageBoxCatastrophic(
                  UINT uText,       // Text for MessageBox
                  UINT uTitle,      // Title for MessageBox
                  UINT uType,       // Style of MessageBox
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  ...)
{
    CONTRACTL
    {
        NOTHROW;
    }
    CONTRACTL_END;

    va_list marker;
    va_start(marker, showFileNameInTitle);

    int result = UtilMessageBoxCatastrophicVA(uText, uTitle, uType, showFileNameInTitle, marker);
    va_end( marker );

    return result;
}

int UtilMessageBoxCatastrophicNonLocalized(
                  LPCWSTR lpText,    // Text for MessageBox
                  LPCWSTR lpTitle,   // Title for MessageBox
                  UINT uType,        // Style of MessageBox
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  ...)
{
    CONTRACTL
    {
        NOTHROW;
    }
    CONTRACTL_END;

    va_list marker;
    va_start(marker, showFileNameInTitle);

    int result = UtilMessageBoxCatastrophicNonLocalizedVA(lpText, lpTitle, uType, showFileNameInTitle, marker);
    va_end( marker );

    return result;
}

int UtilMessageBoxCatastrophicVA(
                  UINT uText,       // Text for MessageBox
                  UINT uTitle,      // Title for MessageBox
                  UINT uType,       // Style of MessageBox
                  BOOL showFileNameInTitle,         // Flag to show FileName in Caption
                  va_list args)     // Additional Arguments
{
    CONTRACTL
    {
        NOTHROW;
    }
    CONTRACTL_END;

    HWND hwnd = NULL;

    // We are already in a catastrophic situation so we can tolerate faults as well as SO & GC mode violations to keep going.
    CONTRACT_VIOLATION(FaultNotFatal | GCViolation | ModeViolation | SOToleranceViolation);

    if (!ShouldDisplayMsgBoxOnCriticalFailure())
        return IDABORT;

    // Add the MB_TASKMODAL style to indicate that the dialog should be displayed on top of the windows
    // owned by the current thread and should prevent interaction with them until dismissed.
    uType |= MB_TASKMODAL;

    return UtilMessageBoxVA(hwnd, uText, uTitle, uType, TRUE, showFileNameInTitle, args);
}

int UtilMessageBoxCatastrophicNonLocalizedVA(
                  LPCWSTR lpText,   // Text for MessageBox
                  LPCWSTR lpTitle,  // Title for MessageBox
                  UINT uType,       // Style of MessageBox
                  BOOL showFileNameInTitle, // Flag to show FileName in Caption
                  va_list args)     // Additional Arguments
{
    CONTRACTL
    {
        NOTHROW;
    }
    CONTRACTL_END;

    HWND hwnd = NULL;

    // We are already in a catastrophic situation so we can tolerate faults as well as SO & GC mode violations to keep going.
    CONTRACT_VIOLATION(FaultNotFatal | GCViolation | ModeViolation | SOToleranceViolation);

    if (!ShouldDisplayMsgBoxOnCriticalFailure())
        return IDABORT;

    // Add the MB_TASKMODAL style to indicate that the dialog should be displayed on top of the windows
    // owned by the current thread and should prevent interaction with them until dismissed.
    uType |= MB_TASKMODAL;

    return UtilMessageBoxNonLocalizedVA(hwnd, lpText, lpTitle, uType, TRUE, showFileNameInTitle, NULL, args);
}


text:
AgorumRest
==========

Das Projekt ist abhängig von RestSharp

Github: https://github.com/restsharp/RestSharp
NuGet:  http://nuget.org/packages/RestSharp

## Bequemer Zugriff auf die Agorum-API

Was noch nicht funktioniert:
Das auslesen der Metadaten aus Agorum, da der JSON-Parser von RestSharp dafür nicht ausgelegt ist. Das Problem liegt an
dem ~ Zeichen.

## Beispiel

```c#
var tmpFile = File.ReadAllBytes("Dateipfad");
var tmpInstance = new AgorumController("AgorumUrl", "AgorumUsername", "AgorumPassword");
//Bei Bedarf kann eine Transaktion geöffnet werden. Allerdings ist das nicht zwingend
//Die Transaktion gilt für "tmpInstance" bis die Transaktion gespeichert oder verworfen wird
tmpInstance.StartTransaction();

//AgorumIds von Ordern in Agorum
var tmpParents = new long[] { 12344, 123124 };
var tmpAgFile = new AgorumFile
    {
        //Entweder kann hier die AgorumId vom Ordner angegeben werden in der die Datei gespeichert wird
        AnyFolderPathId = 123453,

        //Oder man gibt den Ordnerpfad an, der Relativ zum "Team-Bereich" von Agorum ist
        //Der TEambereich ist im Seitenmenü von Agorum erreichbar und ist der allgemeine Ablageplatz für Dateien in Agorum
        //AnyFolderPath = "Bilder",

        //Der Dateiname
        Name = "Neue Datei.txt"
    };
//Lädt die Datei hoch und setzt tmpAgFile.Id auf die in Agorum gesetzte Id für die neue Datei
tmpInstance.UploadFile(tmpAgFile, tmpFile);
//Hängt Metadaten an die hochgeladene Datei an
tmpInstance.SetMetaAttributes(tmpAgFile);
//Verlinkt die Datei in die "tmpParents" Ordner
tmpInstance.CreateLinkFromFile(tmpAgFile.Id, tmpParents);

//Alle Änderungen seit tmpInstance.StartTransaction() werden gespeichert. Wenn ein Fehler auftritt wird eine Exception geworfen, welche die Fehlermeldungen von Agorum enthält
tmpInstance.CommitTransaction();
//Zum Verwerfen: tmpInstance.AbortTransaction();
```


text:
<?php

	// Set title, form destination
			$title = elgg_echo("groups:addtopic");
			$action = "groups/addtopic";
			$tags = "";
			$title = "";
			$message = "";
			$message_id = "";
			$status = "";
			$access_id = ACCESS_DEFAULT;

    // get the group guid
        $group_guid = (int) get_input('group_guid');

	// set the title
	    echo elgg_view_title(elgg_echo("groups:addtopic"));

?>

	<form action="<?php echo $vars['url']; ?>action/<?php echo $action; ?>" method="post">

			<?php echo elgg_echo("title"); ?>

			<?php
                //display the topic title input
				echo elgg_view("input/text", array(
									"internalname" => "topictitle",
									"value" => $title,
													));
			?>

			<?php echo elgg_echo("tags"); ?>

			<?php

				echo elgg_view("input/tags", array(
									"internalname" => "topictags",
									"value" => $tags,
													));

			?>

			<?php echo elgg_echo("groups:topicmessage"); ?>

			<?php

				echo elgg_view("input/longtext",array(
									"internalname" => "topicmessage",
									"value" => $message,
													));
			?>

		    <?php echo elgg_echo("groups:topicstatus"); ?>

		    <select name="status">
		        <option value="open" <?php if($status == "") echo "SELECTED";?>><?php echo elgg_echo('groups:topicopen'); ?></option>
		        <option value="closed" <?php if($status == "closed") echo "SELECTED";?>><?php echo elgg_echo('groups:topicclosed'); ?></option>
		    </select>

				<?php echo elgg_echo('access'); ?>

				<?php echo elgg_view('input/access', array('internalname' => 'access_id','value' => $access_id)); ?>

			<input type="hidden" name="group_guid" value="<?php echo $group_guid; ?>" />
			<input type="submit" class="submit_button" value="<?php echo elgg_echo('save'); ?>" />

	</form>


text:
title: palitan-online-plano-1
inshort: di-maliwanag na
translator: Microsoft Cognitive Services
---


text:
<?php

namespace app\models\queries;

/**
 * This is the ActiveQuery class for [[\app\models\Booking]].
 *
 * @see \app\models\Booking
 */
class BookingQuery extends \yii\db\ActiveQuery
{
    /*public function active()
    {
        $this->andWhere('[[status]]=1');
        return $this;
    }*/

    /**
     * @inheritdoc
     * @return \app\models\Booking[]|array
     */
    public function all($db = null)
    {
        return parent::all($db);
    }

    /**
     * @inheritdoc
     * @return \app\models\Booking|array|null
     */
    public function one($db = null)
    {
        return parent::one($db);
    }
}


text:
require('../../app/core');

describe('preloader', function() {

  var $compile, $rootScope, element, scope, isolateScope, $httpBackend;

  beforeEach(function() {
    angular.mock.module('crossroads.core');
  });

  beforeEach(inject(function(_$compile_, _$rootScope_, _$httpBackend_) {
    $compile = _$compile_;
    $rootScope = _$rootScope_;

    $httpBackend = _$httpBackend_;
  }));

  it('should not have a fullscreen class', function(){
    scope = $rootScope.$new();
    element = '<preloader full-screen=\'false\'></preloader>';
    element = $compile(element)(scope);
    scope.$digest();
    isolateScope = element.isolateScope();
    expect(isolateScope.fullScreen).toBe(false);
    expect(isolateScope.isFullScreen()).toBe(false);
  });

  it('should have a fullscreen class', function(){
    scope = $rootScope.$new();
    element = '<preloader full-screen=\'true\'></preloader>';
    element = $compile(element)(scope);
    scope.$digest();
    isolateScope = element.isolateScope();
    expect(isolateScope.fullScreen).toBe(true);
    expect(isolateScope.isFullScreen()).toBe(true);
  });

});


text:
##########################################################################
#
#  Copyright (c) 2011-2012, John Haddon. All rights reserved.
#  Copyright (c) 2011-2014, Image Engine Design Inc. All rights reserved.
#
#  Redistribution and use in source and binary forms, with or without
#  modification, are permitted provided that the following conditions are
#  met:
#
#      * Redistributions of source code must retain the above
#        copyright notice, this list of conditions and the following
#        disclaimer.
#
#      * Redistributions in binary form must reproduce the above
#        copyright notice, this list of conditions and the following
#        disclaimer in the documentation and/or other materials provided with
#        the distribution.
#
#      * Neither the name of John Haddon nor the names of
#        any other contributors to this software may be used to endorse or
#        promote products derived from this software without specific prior
#        written permission.
#
#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
#  IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
#  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
#  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
#  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
#  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
#  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
#  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
#  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
#  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
##########################################################################

import os
import string

## \todo Unify with GafferUI.Style for colours at least.
_styleSheet = string.Template(

	"""
	QWidget#gafferWindow {

		color: $foreground;
		font: 10px;
		etch-disabled-text: 0;
		background-color: $backgroundMid;
		border: 1px solid #555555;
	}

	QWidget {

		background-color: transparent;

	}

	QLabel, QCheckBox, QPushButton, QComboBox, QMenu, QMenuBar, QTabBar, QLineEdit, QAbstractItemView, QPlainTextEdit, QDateTimeEdit {

		color: $foreground;
		font: 10px;
		etch-disabled-text: 0;
		alternate-background-color: $alternateColor;
		selection-background-color: $brightColor;
		outline: none;

	}

	QLabel[gafferHighlighted=\"true\"] {

		color: #b0d8fb;

	}

	QLabel#gafferPlugLabel[gafferValueChanged=\"true\"] {

		background-image: url($GAFFER_ROOT/graphics/valueChanged.png);
		background-repeat: no-repeat;
		background-position: left;
		padding-left: 20px;

	}

	QMenuBar {

		background-color: $backgroundDarkest;
		font-weight: bold;
		padding: 0px;
		margin: 0px;

	}

	QMenuBar::item {

		background-color: $backgroundDarkest;
		padding: 5px 8px 5px 8px;

	}

	QMenu {

		border: 1px solid $backgroundDark;
		padding-bottom: 5px;
		padding-top: 5px;

	}

	QMenu[gafferHasTitle=\"true\"] {

		/* make sure the title widget sits at the very top.
		   infuriatingly, qt uses padding-top for the bottom
		   as well, and is ignoring padding-bottom. that makes
		   menus with title just a little bit poorly padded
		   at the bottom. we hack around that by adding a little
		   spacing widget in GafferUI.Menu. */
		padding-top: 0px;

	}

	QLabel#gafferMenuTitle {

		background-color: $backgroundDarkest;
		font-weight: bold;
		padding: 5px 25px 5px 20px;
		margin-bottom: 6px;

	}

	QLabel#gafferMenuTitle:disabled {

		color: $foreground;

	}

	QMenu::item {

		background-color: transparent;
		border: 0px;
		padding: 2px 25px 2px 20px;

	}

	QMenu::item:disabled {

		color: $foregroundFaded;

	}

	QMenu::right-arrow {
		image: url($GAFFER_ROOT/graphics/subMenuArrow.png);
		padding: 0px 7px 0px 0px;
	}

	QMenu::separator {

		height: 1px;
		background: $backgroundDark;
		margin-left: 10px;
		margin-right: 10px;
		margin-top: 5px;
		margin-bottom: 5px;

	}

	QMenu::indicator {
		padding: 0px 0px 0px 3px;
	}

	QMenu::indicator:non-exclusive:checked {
		image: url($GAFFER_ROOT/graphics/menuChecked.png);
	}

	QMenu::indicator:exclusive:checked:selected {
		image: url($GAFFER_ROOT/graphics/arrowRight10.png);
	}

	QMenu, QTabBar::tab:selected, QHeaderView::section {

		background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 $backgroundLight, stop: 1 $backgroundMid);

	}

	QPlainTextEdit {

		border: 1px solid $backgroundDark;

	}

	QLineEdit, QPlainTextEdit[readOnly="false"] {

		border: 1px solid $backgroundDark;
		padding: 1px;
		margin: 0px;

	}

	QLineEdit[readOnly="false"], QPlainTextEdit[readOnly="false"] {

		background-color: $backgroundLighter;

	}

	QLineEdit[gafferError="true"] {

		background-color: $errorColor;

	}

	QLineEdit:focus, QPlainTextEdit[readOnly="false"]:focus, QLineEdit[gafferHighlighted=\"true\"] {

		border: 2px solid $brightColor;
		padding: 0px;

	}

	QLineEdit:disabled {

		color: $foregroundFaded;

	}

	QLineEdit#search{
		background-image: url($GAFFER_ROOT/graphics/search.png);
		background-repeat:no-repeat;
		background-position: left center;
		padding-left: 20px;
		height:20px;
		border-radius:5px;
		margin-left: 4px;
		margin-right: 4px;
	}

	QWidget#gafferSplineWidget
	{
		border: 1px solid $backgroundDark;
	}

	QWidget#gafferSplineWidget[gafferHighlighted=\"true\"] {

		border: 1px solid $brightColor;

	}

	QDateTimeEdit {

		background-color: $backgroundLighter;
		padding: 1px;
		margin: 0px;
		border: 1px solid $backgroundDark;
	}

	QDateTimeEdit::drop-down {
		width: 15px;
		image: url($GAFFER_ROOT/graphics/arrowDown10.png);
	}

	#qt_calendar_navigationbar {

		background-color : $brightColor;

	}

	#qt_calendar_monthbutton, #qt_calendar_yearbutton {

		color : $foreground;
		font-weight : bold;
		font-size : 16pt;

	}

	#qt_calendar_monthbutton::menu-indicator {
		image : none;
	}

	#qt_calendar_calendarview {

		color : $foreground;
		font-weight : normal;
		font-size : 14pt;
		selection-background-color: $brightColor;
		background-color : $backgroundLighter;
		gridline-color: $backgroundDark;

	}

	/* buttons */

	QPushButton, QComboBox {

		font-weight: bold;

	}

	QPushButton#gafferWithFrame, QComboBox {

		border: 1px solid $backgroundDark;
		border-radius: 3px;
		padding: 4px;
		margin: 1px;
		background-color : qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 $backgroundLight, stop: 0.5 $backgroundLighter);

	}

	QPushButton#gafferWithFrame:hover, QPushButton#gafferWithFrame:focus, QComboBox:hover {

		border: 2px solid $brightColor;
		margin: 0px;
	}

	QPushButton#gafferWithFrame:pressed {

		color: white;
		background-color:	$brightColor;

	}

	QPushButton#gafferWithoutFrame {

		border: 0px solid transparent;
		border-radius: 0px;
		padding: 0px;
		margin: 0px;
		/* negative margins to counteract the annoying
		   hardcoded padding in QPushButton::sizeHint() */
		margin-left: -2px;
		margin-right: -2px;
		background-color: none;

	}

	QPushButton:disabled, QComboBox:disabled, QLabel::disabled {

		color: $foregroundFaded;

	}

	QPushButton#gafferWithFrame:disabled {

		background-color: $backgroundLighter;

	}

	QPushButton::menu-indicator {
		image: url($GAFFER_ROOT/graphics/arrowDown10.png);
		subcontrol-position: right center;
		subcontrol-origin: padding;
		left: -4px;
	}

	QPushButton#gafferWithFrame[gafferMenuIndicator="true"] {

		background-image: url($GAFFER_ROOT/graphics/menuIndicator.png);
		background-repeat: none;
		background-position: center right;
		padding-right: 20px

	}

	QComboBox {

		padding: 0;
		padding-left:3px;

	}

	QComboBox::drop-down {
		width: 15px;
		image: url($GAFFER_ROOT/graphics/arrowDown10.png);
	}

	QComboBox QAbstractItemView {

		border: 1px solid $backgroundDark;
		selection-background-color: $backgroundLighter;
		background-color: $backgroundMid;
		height:40px;
		margin:0;

	}

	QComboBox QAbstractItemView::item {

		border: none;
		padding: 2px;
		font-weight: bold;

	}

	/* tabs */

	QTabWidget::tab-bar {

		left: 0px;

	}

	QTabBar {

		color: $foreground;
		font-weight: bold;
		outline:none;
		background-color: transparent;

	}

	QTabBar::tab {

		border: 1px solid $backgroundDark;
		padding: 4px;
		padding-left: 8px;
		padding-right: 8px;
		border-top-left-radius: 3px;
		border-top-right-radius: 3px;
		margin: 0px;

	}

	/* indent the first tab. can't do this using QTabWidget::tab-bar:left */
	/* as that messes up the alignment of the corner widget (makes it overlap) */
	QTabBar::tab:first, QTabBar::tab:only-one {

		margin-left: 10px;

	}

	QTabBar::tab:selected {

		border-bottom-color: $backgroundMid; /* blend into frame below */

	}

	QTabBar::tab:!selected {

		color: $foregroundFaded;
		background-color: $backgroundDark;
		border-color: transparent;
		border-radius: 0px;
		padding-bottom: 2px;
		padding-top: 2px;
		margin-top: 4px;
	}

	QSplitter::handle:vertical {

		background-color: $backgroundDark;
		height: 2px;
		margin-top: 2px;
		margin-bottom: 2px;
		/* i don't know why the padding has to be here */
		padding-top: -2px;
		padding-bottom: -2px;
	}

	QSplitter::handle:horizontal {

		background-color: $backgroundDark;
		width: 2px;
		margin-left: 2px;
		margin-right: 2px;

	}

	/* I'm not sure why this is necessary, but it works around a problem where the */
	/* style for QSplitter::handle:hover isn't always accepted.                    */
	QSplitterHandle:hover {}

	QTabBar::tab:hover, QMenu::item:selected, QMenuBar::item:selected, QSplitter::handle:hover,
	QComboBox QAbstractItemView::item:hover {

		color: white;
		background-color:	$brightColor;

	}

	/* tab widget frame has a line at the top, tweaked up 1 pixel */
	/* so that it sits underneath the bottom of the tabs.         */
	/* this means the active tab can blend into the frame.        */
	QTabWidget::pane {
		border: 1px solid $backgroundDark;
		border-top: 1px solid $backgroundDark;
		top: -1px;
	}

	QTabWidget[gafferHighlighted=\"true\"]::pane {
		border: 1px solid $brightColor;
		border-top: 1px solid $brightColor;
		top: -1px;
	}

	QTabWidget[gafferHighlighted=\"true\"] > QTabBar::tab:selected {
		border: 1px solid $brightColor;
		border-bottom-color: $backgroundMid; /* blend into frame below */
	}

	QTabWidget[gafferHighlighted=\"true\"] > QTabBar::tab:!selected {
		border-bottom-color: $brightColor;
	}

	QCheckBox#gafferCollapsibleToggle {

		font-weight: bold;
	}

	QCheckBox#gafferCollapsibleToggle::indicator {

		width: 12px;
		height: 12px;
		background-color: none;

	}

	QCheckBox#gafferCollapsibleToggle::indicator:unchecked {

		image: url($GAFFER_ROOT/graphics/collapsibleArrowDown.png);

	}

	QCheckBox#gafferCollapsibleToggle::indicator:checked {

		image: url($GAFFER_ROOT/graphics/collapsibleArrowRight.png);

	}

	QCheckBox#gafferCollapsibleToggle::indicator:unchecked:hover, QCheckBox#gafferCollapsibleToggle::indicator:unchecked:focus {

		image: url($GAFFER_ROOT/graphics/collapsibleArrowDownHover.png);

	}

	QCheckBox#gafferCollapsibleToggle::indicator:checked:hover, QCheckBox#gafferCollapsibleToggle::indicator:checked:focus {

		image: url($GAFFER_ROOT/graphics/collapsibleArrowRightHover.png);

	}

	QHeaderView {

		border: 0px;
		margin: 0px;

	}

	QHeaderView::section {

		border: 1px solid $backgroundDark;
		padding: 6px;
		font-weight: bold;
		margin: 0px;

	}

	/* tuck adjacent header sections beneath one another so we only get */
	/* a single width line between them                                 */
	QHeaderView::section:horizontal:!first {

		margin-left: -1px;

	}

	QHeaderView::section:horizontal:only-one {

		margin-left: 0px;

	}

	QHeaderView::section:vertical:!first {

		margin-top: -1px;

	}

	QHeaderView::section:vertical:only-one {

		margin-top: 0px;

	}

	QHeaderView::down-arrow {

		image: url($GAFFER_ROOT/graphics/headerSortDown.png);

	}

	QHeaderView::up-arrow {

		image: url($GAFFER_ROOT/graphics/headerSortUp.png);

	}

	QScrollBar {

		border: 1px solid $backgroundDark;
		background-color: $backgroundDark;

	}

	QScrollBar:vertical {

		width: 14px;
		margin: 0px 0px 28px 0px;

	}

	QScrollBar:horizontal {

		height: 14px;
		margin: 0px 28px 0px 0px;

	}

	QScrollBar::add-page, QScrollBar::sub-page {
		background: none;
		border: none;
	}

	QScrollBar::add-line, QScrollBar::sub-line {
		background-color: $backgroundLight;
		border: 1px solid $backgroundDark;
	}

	QScrollBar::add-line:vertical {
		height: 14px;
		subcontrol-position: bottom;
		subcontrol-origin: margin;
	}

	QScrollBar::add-line:horizontal {
		width: 14px;
		subcontrol-position: right;
		subcontrol-origin: margin;
	}

	QScrollBar::sub-line:vertical {
		height: 14px;
		subcontrol-position: bottom right;
		subcontrol-origin: margin;
		position: absolute;
		bottom: 15px;
	}

	QScrollBar::sub-line:horizontal {
		width: 14px;
		subcontrol-position: top right;
		subcontrol-origin: margin;
		position: absolute;
		right: 15px;
	}

	QScrollBar::down-arrow {
		image: url($GAFFER_ROOT/graphics/arrowDown10.png);
	}

	QScrollBar::up-arrow {
		image: url($GAFFER_ROOT/graphics/arrowUp10.png);
	}

	QScrollBar::left-arrow {
		image: url($GAFFER_ROOT/graphics/arrowLeft10.png);
	}

	QScrollBar::right-arrow {
		image: url($GAFFER_ROOT/graphics/arrowRight10.png);
	}

	QScrollBar::handle {
		background-color: $backgroundLight;
		border: 1px solid $backgroundDark;
	}

	QScrollBar::handle:vertical {
		min-height: 14px;
		border-left: none;
		border-right: none;
		margin-top: -1px;
	}

	QScrollBar::handle:horizontal {
		min-width: 14px;
		border-top: none;
		border-bottom: none;
		margin-left: -1px;
	}

	QScrollBar::handle:hover, QScrollBar::add-line:hover, QScrollBar::sub-line:hover {
		background-color: $brightColor;
	}

	QScrollArea {
		border: none;
	}

	QCheckBox {
		spacing: 5px;
	}

	QTreeView QHeaderView {
		/* tuck header border inside the treeview border */
		margin-top: -1px;
		margin-left: -1px;
		margin-right: -1px;
	}

	QTreeView::branch {
		border-image : none;
		image : none;
	}

	QTreeView::branch:closed:has-children {
		border-image : none;
		image : url($GAFFER_ROOT/graphics/collapsibleArrowRight.png);
	}

	QTreeView::branch:open:has-children {
		border-image : none;
		image : url($GAFFER_ROOT/graphics/collapsibleArrowDown.png);
	}

	/* checkbox */

	QCheckBox::indicator {
		width: 20px;
		height: 20px;
		background-color: transparent;
	}

	QCheckBox::indicator:unchecked {
		image: url($GAFFER_ROOT/graphics/checkBoxUnchecked.png);
	}

	QCheckBox::indicator:unchecked:hover,
	QCheckBox::indicator:unchecked:focus,
	QCheckBox[gafferHighlighted=\"true\"]::indicator:unchecked {
		image: url($GAFFER_ROOT/graphics/checkBoxUncheckedHover.png);
	}
	QCheckBox::indicator:checked:hover,
	QCheckBox::indicator:checked:focus,
	QCheckBox[gafferHighlighted=\"true\"]::indicator:checked {
		image: url($GAFFER_ROOT/graphics/checkBoxCheckedHover.png);
	}

	QCheckBox::indicator:checked {
		image: url($GAFFER_ROOT/graphics/checkBoxChecked.png);
	}

	QCheckBox::indicator:checked:disabled {
		image: url($GAFFER_ROOT/graphics/checkBoxCheckedDisabled.png);
	}

	QCheckBox::indicator:unchecked:disabled {
		image: url($GAFFER_ROOT/graphics/checkBoxUncheckedDisabled.png);
	}

	/* boolwidget drawn as switch */

	QCheckBox#gafferBoolWidgetSwitch::indicator:unchecked {
		image: url($GAFFER_ROOT/graphics/toggleOff.png);
	}

	QCheckBox#gafferBoolWidgetSwitch::indicator:unchecked:hover,
	QCheckBox#gafferBoolWidgetSwitch::indicator:unchecked:focus,
	QCheckBox#gafferBoolWidgetSwitch[gafferHighlighted=\"true\"]::indicator:unchecked {
		image: url($GAFFER_ROOT/graphics/toggleOffHover.png);
	}
	QCheckBox#gafferBoolWidgetSwitch::indicator:checked:hover,
	QCheckBox#gafferBoolWidgetSwitch::indicator:checked:focus,
	QCheckBox#gafferBoolWidgetSwitch[gafferHighlighted=\"true\"]::indicator:checked {
		image: url($GAFFER_ROOT/graphics/toggleOnHover.png);
	}

	QCheckBox#gafferBoolWidgetSwitch::indicator:checked {
		image: url($GAFFER_ROOT/graphics/toggleOn.png);
	}

	QCheckBox#gafferBoolWidgetSwitch::indicator:checked:disabled {
		image: url($GAFFER_ROOT/graphics/toggleOnDisabled.png);
	}

	QCheckBox#gafferBoolWidgetSwitch::indicator:unchecked:disabled {
		image: url($GAFFER_ROOT/graphics/toggleOffDisabled.png);
	}

	/* frame */

	.QFrame#borderStyleNone {
		border: 1px solid transparent;
		border-radius: 4px;
		padding: 2px;
	}

	.QFrame#borderStyleFlat {
		border: 1px solid $backgroundDark;
		border-radius: 4px;
		padding: 2px;
	}

	.QFrame[gafferHighlighted=\"true\"]#borderStyleFlat {
		border: 1px solid $brightColor;
	}

	.QFrame#gafferDivider {
		color: $backgroundDark;
	}

	QToolTip {
		background-clip: border;
		color: $backgroundDarkest;
		background-color: $foreground;
		padding: 2px;

	}

	QTreeView {
		border: 1px solid $backgroundDark;
		padding: 0px;
	}

	QTreeView::item:selected {
		background-color: $brightColor;
	}

	QTableView {

		border: 0px solid transparent;

	}

	QTableView::item:selected {
		background-color: $brightColor;
	}

	QTableView QTableCornerButton::section {
		background-color: $backgroundMid;
		border: 1px solid $backgroundMid;
	}

	QTableView#vectorDataWidget {
		gridline-color: $backgroundDark;
		padding: 0px;
		background-color: transparent;
	}

	QTableView#vectorDataWidgetEditable {
		padding: 0px;
		gridline-color: $backgroundDark;
	}

	QTableView::item#vectorDataWidgetEditable {
		background-color: $backgroundLighter;
	}

	QTableView::item:selected#vectorDataWidgetEditable {
		background-color: $brightColor;
	}

	QHeaderView::section#vectorDataWidgetVerticalHeader {
		background-color: transparent;
		padding: 2px;
	}

	/* checkboxes within table views */

	QTableView::indicator {
		background-color: transparent;
	}

	QTableView::indicator:unchecked {
		image: url($GAFFER_ROOT/graphics/checkBoxUnchecked.png);
	}

	QTableView::indicator:unchecked:hover {
		image: url($GAFFER_ROOT/graphics/checkBoxUncheckedHover.png);
	}

	QTableView::indicator:checked {
		image: url($GAFFER_ROOT/graphics/checkBoxChecked.png);
	}

	QTableView::indicator:checked:hover {
		image: url($GAFFER_ROOT/graphics/checkBoxCheckedHover.png);
	}

	QTableView::indicator:selected {
		background-color: $brightColor;
	}

	/* highlighted state for VectorDataWidget */

	QTableView[gafferHighlighted=\"true\"]#vectorDataWidget,
	QTableView[gafferHighlighted=\"true\"]#vectorDataWidgetEditable {

		gridline-color: $brightColor;

	}

	QTableView[gafferHighlighted=\"true\"] QHeaderView::section#vectorDataWidgetVerticalHeader {

		border-color: $brightColor;

	}

	/* progress bars */

	QProgressBar {

		border: 1px solid $backgroundDark;
		background: $backgroundLighter;
		padding: 1px;
		text-align: center;

	}

	QProgressBar::chunk:horizontal {

		background-color: $brightColor;

	}

	/* gl widget */

	QGraphicsView#gafferGLWidget {

		border: 0px;

	}

	/* frame variants */

	QFrame#gafferDiffA {

		background: solid rgba( 181, 30, 0, 80 );

	}

	QFrame#gafferDiffB {

		background: solid rgba( 34, 159, 0, 80 );

	}

	QFrame#gafferDiffCommon {

		background: solid rgba( 170, 170, 170, 80 );

	}

	QFrame#gafferLighter {

		background: solid rgba( 255, 255, 255, 10 );

	}

	QFrame[gafferHighlighted=\"true\"]#gafferDiffA, QFrame[gafferHighlighted=\"true\"]#gafferDiffB, QFrame[gafferHighlighted=\"true\"]#gafferDiffCommon {
		background-color: $brightColor;
	}

	/* turn off rounded corners based on adjacency of other widgets */

	*[gafferRounded="true"] {

		border-radius: 8px;

	}

	*[gafferFlatTop="true"] {

		border-top-left-radius: 0px;
		border-top-right-radius: 0px;

	}

	*[gafferFlatBottom="true"] {

		border-bottom-left-radius: 0px;
		border-bottom-right-radius: 0px;

	}

	*[gafferFlatLeft="true"] {

		border-top-left-radius: 0px;
		border-bottom-left-radius: 0px;

	}

	*[gafferFlatRight="true"] {

		border-top-right-radius: 0px;
		border-bottom-right-radius: 0px;

	}

	"""

).substitute( {

	"GAFFER_ROOT" : os.environ["GAFFER_ROOT"],
	"backgroundDarkest" : "#000000",
	"backgroundDark" : "#3c3c3c",
	"backgroundMid" : "#4c4c4c",
	"backgroundLighter" : "#6c6c6c",
	"backgroundLight" : "#7d7d7d",
	"brightColor" : "#779cbd",
	"foreground" : "#e0e0e0",
	"foregroundFaded" : "#999999",
	"alternateColor" : "#454545",
	"errorColor" : "#ff5555",

} )


text:
const {spawn} = require('child_process');

spawn('cmd', {detached: true, shell: true});