text:
title:  Выбор в пользу свободы
date:   13/09/2017
---

**Практика**: Гал. 5:16

Я хочу рассказать вам одну поучительную историю.

Однажды старый индеец из племени Чероки открыл своему внуку одну жизненную истину.

«Внутри меня идет борьба,— рассказывал он мальчику.— Эта ужасная битва происходит между двумя волками. Один волк представляет зло — это гнев, зависть, печаль, сожаление, жадность, самонадеянность, жалость к себе, чувство вины, недовольство, ощущение собственной неполноценности, ложь, ложная гордость, чувство превосходства и эгоизм. Другой волк,— продолжил он,— олицетворяет добро. Это радость, мир, любовь, надежда, искренность, смирение, доброта, милосердие, сочувствие, щедрость, истина, сострадание и вера. Та же борьба идет сейчас и в тебе. Она идет в каждом человеке».

Внук задумался на минуту, а потом спросил деда: «А какой волк в конце победит?».

Старый чероки ответил: «Тот, которого ты кормишь»74.

Используя такие захватывающие образы, старик преподал нам урок, суть которого для многих людей сегодня утеряна. Именно этому старался научить верующих в Галатии Павел. Урок заключается в том, что на нас лежит ответственность за путь, который мы выбираем, за личность, которой мы становимся, и за то, какой оказывается наша жизнь в итоге — исполненной радости или неудовлетворенности.

В жизни бывают хороший выбор, плохой выбор и выбор, зависящий от ситуации. Большинство случаев относится к третьей категории. В таких ситуациях вы рассматриваете каждое действие как полезное или не полезное, в зависимости от конечной цели. Каждое принятое решение имеет свои последствия. Однако выбор свободы всегда остается за нами.

Закон был дан для того, чтобы защищать хрупкий человеческий разум до тех пор, пока люди не будут готовы к большим откровениям (см. Гал. 3:19, 23, 24). Повеления требуют только послушания. Свобода дает возможность мыслить; она допускает и величайшее добро, и глубочайшее зло. Таким образом, Дух, живущий в нас, может помочь нам быть самостоятельными в разных жизненных ситуациях.

Божий план предназначен не для роботов. Богу нужно, чтобы Его семья умела мыслить, а не только выполнять приказы, потому что настанет день, когда нам придется повзрослеть. На небе нас ждут серьезные обязанности, предусмотренные для нас Богом. Если мы, подобно детям, которые растут в тепличных условиях, не научимся сами различать, что хорошо, а что плохо (а это даже хуже, чем быть не в состоянии оставить родительский дом), мы не будем готовы к небесам!

Но пусть вас это не расстраивает, потому что у нас есть один замечательный секрет: позвольте Святому Духу руководить вашей жизнью, и тогда вы будете выбирать то, что является благом (см. Гал. 5:16). Дело совсем не в том, на что вы способны или чего не умеете. Правда заключается в том, что, прини

мая решение жить по Духу, вы действительно будете следовать путем Божьим.

Бог желает нам счастья. Он хочет, чтобы мы были настолько счастливы, что трудно было бы поверить в существование в прошлом греха. Но он существовал. И теперь каждый из нас должен будет сделать все возможное, чтобы грех никогда больше не появился вновь.

Единственный путь ко греху — свобода. Единственный путь к любви — свобода.

Бог не хочет, чтобы грех когда-либо снова возник, поэтому Он не возьмет нас на небо имеющими свободу, но неподготовленными. И все, что Он жаждет излить на нас,— это любовь, поэтому Он не возьмет нас на небо без нашей свободы.

История началась с Адама и Евы и продолжается сегодня в нас. Это выбор. В нас живут два волка — какого из них вы будете кормить?

74 «A Cherokee Legend», Firstpeople.us [электронный ресурс]. URL: http://www.firstpeople.us/FP-Html-Legends/TwoWolves-Cherokee.html (дата обращения: 24 июля 2016 г.).

_Райан Торнтон, Сиэтл, Вашингтон, США_


text:
class AddSofortLogToOrders < ActiveRecord::Migration[4.2]
  def change
    add_column :spree_orders, :sofort_log, :string
  end
end

redpajama_set_name: RedPajamaGithub


text:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OrbitCamera : MonoBehaviour {
    [SerializeField]
    private Transform target = null;

    public float rotateSpeed = 1.5f;

    private float _rotateY;
    private Vector3 _offset;

	// Use this for initialization
	void Start () {
        _rotateY = transform.eulerAngles.y;
        _offset = target.position - transform.position;
	}

    private void LateUpdate() {
        float horInput = Input.GetAxis("Horizontal");
        if (horInput != 0) {
            _rotateY += horInput * rotateSpeed;
        } else {
            _rotateY += Input.GetAxis("Mouse X") * rotateSpeed * 3;
        }

        Quaternion rotation = Quaternion.Euler(0, _rotateY, 0);
        transform.position = target.position - (rotation * _offset);
        transform.LookAt(target);
    }

    // Update is called once per frame
    void Update () {
	}
}


text:
class Gesund::Dsl

  def self.evaluate(gesundfile)
    builder = new
    builder.eval_gesundfile(gesundfile)
  end

  def eval_gesundfile(gesundfile)
    @checks = []
    begin
      contents = File.read(gesundfile.to_s)
    rescue => e
      puts "ERROR reading Gesundfile: #{e.message}"
      exit 1
    end
    instance_eval(contents, gesundfile.to_s, 1)
    return @checks
  end

  def check(name, options = {})
    camel_name = name.to_s.split('_').map(&:capitalize).join
    begin
      check_class = Gesund::Checks.const_get(camel_name)
    rescue NameError => e
      e.backtrace.join =~ /Gesundfile:(\d+)/
      print "ERROR Gesundfile:#{$1}: "
      puts "#{e.message}"
      exit 1
    end
    raise Gesund::Errors::CheckNotFound unless check_class
    @checks << check_class.new(options) if check_class
  end

end


text:
CGPoint midPoint(CGPoint p1, CGPoint p2)
{
    return CGPointMake((p1.x + p2.x) * 0.5, (p1.y + p2.y) * 0.5);
}

#pragma mark - JMPaintPenTool
@implementation JMPaintPenTool

@synthesize linesColor = _linesColor;
@synthesize linesAlpha = _linesAlpha;
@synthesize linesWidth = _linesWidth;

- (id)init
{
    self = [super init];
    if (self != nil) {

        self.lineCapStyle = kCGLineCapRound;
    }
    return self;
}

- (void)setInitialPoint:(CGPoint)firstPoint
{
    [self moveToPoint:firstPoint];
    self.lineWidth = _linesWidth;
}

- (void)moveFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint
{
    // _linesWidth = [self writeModel:startPoint currentPoint:endPoint width:_linesWidth];
    // self.lineWidth = _linesWidth;
    [self addQuadCurveToPoint:midPoint(endPoint, startPoint) controlPoint:startPoint];
}

- (void)draw
{
    [self.linesColor setStroke];
    [self strokeWithBlendMode:kCGBlendModeNormal alpha:self.linesAlpha];
}

- (CGFloat)writeModel:(CGPoint)previousPoint currentPoint:(CGPoint)currentPoint width:(CGFloat)width
{
    CGFloat xDist = (previousPoint.x - currentPoint.x); //[2]
    CGFloat yDist = (previousPoint.y - currentPoint.y); //[3]
    CGFloat distance = sqrt((xDist * xDist) + (yDist * yDist)); //[4]

    distance = distance / 10;

    if (distance > 10) {
        distance = 10.0;
    }

    distance = distance / 10;
    distance = distance * 3;

    if (4.0 - distance > width) {
        width = width + 0.3;
    } else {
        width = width - 0.3;
    }

    return width;

}

#if !ACE_HAS_ARC

- (void)dealloc
{
    self.lineColor = nil;
    [super dealloc];
}

#endif

@end

#pragma mark - JMPaintLineTool
@interface JMPaintLineTool ()
@property (nonatomic, assign) CGPoint firstPoint;
@property (nonatomic, assign) CGPoint lastPoint;
@end

#pragma mark -
@implementation JMPaintLineTool

@synthesize linesColor = _linesColor;
@synthesize linesAlpha = _linesAlpha;
@synthesize linesWidth = _linesWidth;

- (void)setInitialPoint:(CGPoint)firstPoint
{
    self.firstPoint = firstPoint;
}

- (void)moveFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint
{
    self.lastPoint = endPoint;
}

- (void)draw
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    // set the line properties
    CGContextSetStrokeColorWithColor(context, self.linesColor.CGColor);
    CGContextSetLineCap(context, kCGLineCapRound);
    CGContextSetLineWidth(context, self.linesWidth);
    CGContextSetAlpha(context, self.linesAlpha);

    // draw the line
    CGContextMoveToPoint(context, self.firstPoint.x, self.firstPoint.y);
    CGContextAddLineToPoint(context, self.lastPoint.x, self.lastPoint.y);
    CGContextStrokePath(context);
}

#if !ACE_HAS_ARC

- (void)dealloc
{
    self.lineColor = nil;
    [super dealloc];
}

#endif

@end

#pragma mark - JMPaintRectangleTool

@interface JMPaintRectangleTool ()
@property (nonatomic, assign) CGPoint firstPoint;
@property (nonatomic, assign) CGPoint lastPoint;
@end

#pragma mark -
@implementation JMPaintRectangleTool

@synthesize linesColor = _linesColor;
@synthesize linesAlpha = _linesAlpha;
@synthesize linesWidth = _linesWidth;

- (void)setInitialPoint:(CGPoint)firstPoint
{
    self.firstPoint = firstPoint;
}

- (void)moveFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint
{
    self.lastPoint = endPoint;
}

- (void)draw
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    // set the properties
    CGContextSetAlpha(context, self.linesAlpha);

    // draw the rectangle
    CGRect rectToFill = CGRectMake(self.firstPoint.x, self.firstPoint.y, self.lastPoint.x - self.firstPoint.x, self.lastPoint.y - self.firstPoint.y);
    if (self.fill) {
        CGContextSetFillColorWithColor(context, self.linesColor.CGColor);
        CGContextFillRect(UIGraphicsGetCurrentContext(), rectToFill);

    } else {
        CGContextSetStrokeColorWithColor(context, self.linesColor.CGColor);
        CGContextSetLineWidth(context, self.linesWidth);
        CGContextStrokeRect(UIGraphicsGetCurrentContext(), rectToFill);
    }
}

#if !ACE_HAS_ARC

- (void)dealloc
{
    self.lineColor = nil;
    [super dealloc];
}

#endif

@end

#pragma mark - JMPaintEllipseTool
@interface JMPaintEllipseTool ()
@property (nonatomic, assign) CGPoint firstPoint;
@property (nonatomic, assign) CGPoint lastPoint;
@end

#pragma mark -
@implementation JMPaintEllipseTool

@synthesize linesColor = _linesColor;
@synthesize linesAlpha = _linesAlpha;
@synthesize linesWidth = _linesWidth;

- (void)setInitialPoint:(CGPoint)firstPoint
{
    self.firstPoint = firstPoint;
}

- (void)moveFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint
{
    self.lastPoint = endPoint;
}

- (void)draw
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    // set the properties
    CGContextSetAlpha(context, self.linesAlpha);

    // draw the ellipse
    CGRect rectToFill = CGRectMake(self.firstPoint.x, self.firstPoint.y, self.lastPoint.x - self.firstPoint.x, self.lastPoint.y - self.firstPoint.y);
    if (self.fill) {
        CGContextSetFillColorWithColor(context, self.linesColor.CGColor);
        CGContextFillEllipseInRect(UIGraphicsGetCurrentContext(), rectToFill);

    } else {
        CGContextSetStrokeColorWithColor(context, self.linesColor.CGColor);
        CGContextSetLineWidth(context, self.linesWidth);
        CGContextStrokeEllipseInRect(UIGraphicsGetCurrentContext(), rectToFill);
    }
}

#if !ACE_HAS_ARC

- (void)dealloc
{
    self.lineColor = nil;
    [super dealloc];
}

#endif

@end

#pragma mark 箭头
@interface DrawingToolArrow ()

@property (nonatomic, assign) CGPoint firstPoint;
@property (nonatomic, assign) CGPoint lastPoint;

@end
#pragma mark -
@implementation DrawingToolArrow

@synthesize firstPoint = _firstPoint;
@synthesize lastPoint = _lastPoint;

@synthesize linesColor = _linesColor;
@synthesize linesAlpha = _linesAlpha;
@synthesize linesWidth = _linesWidth;

- (void)setInitialPoint:(CGPoint)firstPoint
{
    self.firstPoint = firstPoint;
}

- (void)moveFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint
{
    self.lastPoint = endPoint;
}

- (void)draw
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGFloat capHeight = self.linesWidth * 4;

    // 设置属性
    CGContextSetStrokeColorWithColor(context, self.linesColor.CGColor);
    CGContextSetLineWidth(context, self.linesWidth);
    CGContextSetAlpha(context, self.linesAlpha);
    CGContextSetLineCap(context, kCGLineCapSquare);

    // 设置箭头曲线
    CGContextMoveToPoint(context, self.firstPoint.x, self.firstPoint.y);
    CGContextAddLineToPoint(context, self.lastPoint.x, self.lastPoint.y);

    // 绘制箭头帽
    CGFloat angle = [self angleWithFirstPoint:self.firstPoint andSecondPoint:self.lastPoint];
    CGPoint p1Point = [self pointWithAngle:angle+7.0f*M_PI/8.0f andDistant:capHeight];
    CGPoint p2Point = [self pointWithAngle:angle-7.0f*M_PI/8.0f andDistant:capHeight];
    CGPoint endPointOffset = [self pointWithAngle:angle andDistant:self.linesWidth];

    p1Point = CGPointMake(self.lastPoint.x+p1Point.x, self.lastPoint.y+p1Point.y);
    p2Point = CGPointMake(self.lastPoint.x+p2Point.x, self.lastPoint.y+p2Point.y);

    CGContextMoveToPoint(context, p1Point.x, p1Point.y);
    CGContextAddLineToPoint(context, endPointOffset.x+self.lastPoint.x, endPointOffset.y+self.lastPoint.y);
    CGContextAddLineToPoint(context, p2Point.x, p2Point.y);

    CGContextStrokePath(context);
}

- (CGFloat)angleWithFirstPoint:(CGPoint)firstPoint andSecondPoint:(CGPoint)secondPoint
{
    CGFloat dx = secondPoint.x - firstPoint.x;
    CGFloat dy = secondPoint.y - firstPoint.y;

    CGFloat angle = atan2f(dy, dx);

    return angle;
}

- (CGPoint)pointWithAngle:(CGFloat)angle andDistant:(CGFloat)distant
{
    CGFloat x = distant * cos(angle);
    CGFloat y = distant * sin(angle);

    return CGPointMake(x, y);
}

#if !ACE_HAS_ARC

- (void)dealloc
{
    self.lineColor = nil;
    [super dealloc];
}

#endif

@end


text:
package ru.job4j.array;

import java.util.Arrays;

public class  ArrayDuplicate {
    public String[] remove(String[] array) {
        int counter = array.length;
        for (int out = 0; out < counter; out++) {
            for (int in = out + 1; in < counter; in++) {
                if (array[out].equals(array[in])) {
                    array[in] = array[counter - 1];
                    counter--;
                    in--;
                }
            }
        }
        return Arrays.copyOf(array, counter);
    }
}


text:
package org.rioproject.opstring;

import java.io.Serializable;
import java.util.concurrent.TimeUnit;

/**
 * Options for time based undeployment of an {@code OperationalString}.
 *
 * @author Dennis Reedy
 */
public class UndeployOption implements Serializable {
    private static final long serialVersionUID = 1L;
    public enum Type {
        /**
         * If at least one service in an {@code OperationalString} implements the
         * {@link org.rioproject.admin.ServiceActivityProvider} interface, this option can be used
         * to undeploy if inactivity is determined for the duration of time provided.
         */
        WHEN_IDLE,

        /**
         * Undeploy the {@code OperationalString} on a specific date. This option should be used with care, since
         * services could still be running when the {@code OperationalString} is to be undeployed.
         */
        ON_DATE
    }
    private final Long when;
    private final TimeUnit timeUnit;
    private final Type type;

    /**
     * Default amount of time to check for idleness.
     */
    public static final Long DEFAULT_IDLE = TimeUnit.SECONDS.toMillis(5);

    /**
     * Create an {@code UndeployOption} based on {@code TimeUnit.MILLISECONDS}.
     *
     * @param when The when in milliseconds.
     * @param type The {@code Type of {@code UndeployOption}}
     *
     * @throws IllegalArgumentException if the value is <= 0
     */
    public UndeployOption(final Long when, final Type type) {
        this(when, type, TimeUnit.MILLISECONDS);
    }

    /**
     * Create an {@code UndeployOption}
     *
     * @param when The when in milliseconds.
     * @param type The {@code Type} of {@code UndeployOption}
     * @param timeUnit The {@code TimeUnit}s the {@code when} value is in
     *
     * @throws IllegalArgumentException if the when is <= 0, type is {@code null} or {@code timeUnit} is {@code null}.
     */
    public UndeployOption(final Long when, final Type type, final TimeUnit timeUnit) {
        if(when<=0 || type==null || timeUnit==null)
            throw new IllegalArgumentException("parameters cannot be null");
        this.when = when;
        this.type = type;
        this.timeUnit = timeUnit;
    }

    /**
     * Get the {@code when} property.
     *
     * @return The value of {@code when}
     */
    public Long getWhen() {
        return when;
    }

    /**
     * Get the {@code TimeUnit}.
     *
     * @return The {@code TimeUnit}.
     */
    public TimeUnit getTimeUnit() {
        return timeUnit;
    }

    /**
     * Get the {@code Type}
     *
     * @return the {@code Type}
     */
    public Type getType() {
        return type;
    }
}


text:
<?php

use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Bgaze\Silex\Console\Command\AbstractCommand;

// Build the command.

class DemoCommand extends AbstractCommand {

    public function isEnabled() {
        /* Do custom tests before enabling command if you want
          if (!isset($this->app['my_value'])) {
          return false;
          }
         */
        return parent::isEnabled();
    }

    protected function configure() {
        $this
                ->setName('demo:command')
                ->setDefinition([
                    new InputArgument('foo', InputArgument::REQUIRED, 'A required argument'),
                    new InputOption('bar', 'b', InputOption::VALUE_REQUIRED, 'An option with default value', 'Bar!')
                ])
                ->setDescription('This is a demo command ...');
    }

    protected function execute(InputInterface $input, OutputInterface $output) {
        $foo = $input->getArgument('foo');
        $output->writeln('Foo : ' . $foo);

        $bar = $input->getOption('bar');
        $output->writeln('Bar : ' . $bar);
    }

}

// Then register it.

$app['console']->add(new DemoCommand());


text:
layout: organization
category: local

title: Vet Dogs of America
impact_area: Human Rights
keywords:
location_services:
location_offices:
website: info@vetdogs.org

description:
mission: |
  A Military Therapy Dog refers to a dog trained to provide physical, occupational, or emotional therapy to wounded soldiers and active duty personnel in military installations, military and VA medical centers, and VA nursing homes.

cash_grants:
grants:
service_opp:
services:

learn:
cont_relationship:

salutation:
first_name:
last_name:
title_contact_person:

city: Smithtown
state: NY
address: |
  371 East Jericho Turnpike
  Smithtown NY 11787
lat: 40.857309
lng: -73.169945
phone:
ext:
fax:
email:
preferred_contact:
contact_person_intro:
---


text:
namespace onnxruntime {
namespace tvm_codegen {

bool TVM_SCHEDULER_CLASS(Softmax, GenericOrtOpType)::Evaluate(
    const tvm::Tensor& tensor,
    const Node*,
    CodeGenContext&,
    ScheduleContext& ctx_sched) {
  // compute root the exp since it is reused more than once
  auto& tensor_exp = tensor->op->InputTensors()[0];
  return InsertRootSchedule(tensor_exp, ctx_sched);
}

}  // namespace tvm_codegen
}  // namespace onnxruntime


text:
/**
 * 脏矩形管理
 */
var DirtyRectangle = qc.DirtyRectangle = function(game) {
    var self = this;
    /**
     * 全局脏矩形
     * @type {Array}
     */
    self._destroyRegion = [];

    self.game = game;
    self.game.world.getSelfWidth = function() {
        return this.width;
    };
    self.game.world.getSelfHeight = function() {
        return this.height;
    };

    self.game.scale.onSizeChange.add(self.onSizeChange, self);
    self.enable = false;
    self.showDirtyRegion = false;

    self.forceDirty = false;
};

DirtyRectangle.prototype = {};
DirtyRectangle.prototype.constructor = DirtyRectangle;

Object.defineProperties(DirtyRectangle.prototype, {
    /**
     * 是否生效
     * @type {boolean}
     */
    enable : {
        get : function() { return this._enable; },
        set : function(v) {
            if (v === this._enable)
                return;

            this._enable = v;
            this._recalcAll = v;
            if (!v) {
                this.releaseDirtyCanvas();
            }
        }
    },

    /**
     * 是否显示脏矩形更新区域
     * @type {boolean}
     */
    showDirtyRegion : {
        get : function() { return this._showDirtyRegion; },
        set : function(v) {
            if (v === this._showDirtyRegion)
                return;

            this._showDirtyRegion = v;
            if (!v) {
                this.releaseDirtyCanvas();
            }
        }
    }
});

/**
 * 向全局注册一个脏矩形区域
 */
DirtyRectangle.prototype.redirectDirty = function(bounds) {
    var self = this;
    self._enable && bounds && self._destroyRegion.push(bounds);
};

/**
 * 画布大小变化时
 * @return {[type]} [description]
 */
DirtyRectangle.prototype.onSizeChange = function() {
    var self = this;
    self.game.world.displayChanged(qc.DisplayChangeStatus.SIZE);
};

/**
 * 求两矩形的并集
 */
DirtyRectangle.prototype._unionRect = function(one, two) {
    var oneEndX = one.x + one.width,
        oneEndY = one.y + one.height,
        twoEndX = two.x + two.width,
        twoEndY = two.y + two.height,
        minStartX = one.x < two.x ? one.x : two.x,
        minStartY = one.y < two.y ? one.y : two.y,
        maxEndX = oneEndX < twoEndX ? twoEndX : oneEndX,
        maxEndY = oneEndY < twoEndY ? twoEndY : oneEndY,
        width = maxEndX - minStartX,
        height = maxEndY - minStartY;
    return {
        x : minStartX,
        y : minStartY,
        width : width,
        height : height,
        area : width * height
    };
};

/**
 * 求两矩形的交集
 */
DirtyRectangle.prototype._insersectionRect = function(one, two) {
    var oneEndX = one.x + one.width,
        oneEndY = one.y + one.height,
        twoEndX = two.x + two.width,
        twoEndY = two.y + two.height,
        maxStartX = one.x > two.x ? one.x : two.x,
        maxStartY = one.y > two.y ? one.y : two.y,
        minEndX = oneEndX > twoEndX ? twoEndX : oneEndX,
        minEndY = oneEndY > twoEndY ? twoEndY : oneEndY,
        width = minEndX - maxStartX,
        height = minEndY - maxStartY;
    if (width < 0 || height < 0) {
        return null;
    }
    var rect = {
        x : maxStartX,
        y : maxStartY,
        width : width,
        height : height,
        area : width * height
    };
    return rect;
};

/**
 * 整合脏矩形区域
 */
DirtyRectangle.prototype._mergeRect = function(dirtyList, factor) {
    var self = this;
    var len = dirtyList.length;
    if (len < 2) {
        return true;
    }
    var idx = -1;
    var merge = false;
    var union = null;
    var otherIdx = 0;
    while (!merge && ++idx < len) {
        var dest = dirtyList[idx];
        dest.clip && (dest = dest.clip);
        otherIdx = idx;
        while (!merge && ++otherIdx < len) {
            var src = dirtyList[otherIdx];
            src.clip && (src = src.clip);
            union = self._unionRect(dest, src);
            merge = union.area * 0.8 - dest.area - src.area < 0;
        }
    }

    if (merge && union) {
        dirtyList[idx] = union;
        dirtyList.splice(otherIdx, 1);
        return false;
    }
    return true;
};

/**
 * 收集节点下所有需要更新的区域
 */
DirtyRectangle.prototype.collectDirtyRegion = function(cliprect, node, array) {
    var self = this;
    array = array || [];
    if (!node)
        return array;
    var currCliprect = cliprect;
    if (node instanceof Phaser.Text) {
        if (node.dirty) {
            node.updateText();
            node.getWorldTransform();
            node.dirty = false;
        }
    }

    var skipChildren = node.isSkipChildrenRender && node.isSkipChildrenRender();
    var display = (node.getDisplayProxy && node.getDisplayProxy()) || node;
    if (display !== node) {
        display.displayChanged(node._displayChangeStatus);
    }
    if (display._updateBounds) {
        skipChildren |= display._updateBounds(self._recalcAll);
    }
    if (display._mask) {
        var maskCliprect = display._currWorldBounds;
        if (maskCliprect) {
            currCliprect = currCliprect ? self._insersectionRect(currCliprect, maskCliprect) : maskCliprect;
        }
    }
    if (display._dirtyBounds) {
        var currWorldBounds = display._currWorldBounds;
        if (currWorldBounds && currCliprect) {
            var clip = self._insersectionRect(currWorldBounds, currCliprect);
            if (!clip) {
                currWorldBounds = null;
            }
            else {
                display._currWorldBounds.clip = clip;
            }
        }
        if (display._lastWorldBounds) {
            var lastLen = display._lastWorldBounds.length;
            while (lastLen--) {
                var one = display._lastWorldBounds[lastLen];
                if (one) {
                    array.push(one);
                }
            }
        }
        display._lastWorldBounds = [];
        currWorldBounds && array.push(currWorldBounds);
        display._dirtyBounds = false;
    }

    if (display._displayChangeStatus === 0) {
        skipChildren |= !node._subDisplayChanged;
    }
    node._subDisplayChanged = false;

    if (self._recalcAll || !skipChildren) {
        var len = node.children.length;
        while (len--) {
            self.collectDirtyRegion(currCliprect, node.children[len], array);
        }
    }
    node._resetDisplayChangeStatus && node._resetDisplayChangeStatus();
    if (display !== node) {
        display._resetDisplayChangeStatus && display._resetDisplayChangeStatus();
    }
    return array;
};

/**
 * 更新需要绘制的区域
 */
DirtyRectangle.prototype.updateDirtyRegion = function(context, resolution, stage) {
    var self = this;
    var duringStart = Date.now();
    if (stage._displayChangeStatus == null) {
        stage._displayChangeStatus = -1;
    }
    var dirtyRegion = self._currDirtyRegion = self.collectDirtyRegion(null, stage);
    if (self._destroyRegion) {
        Array.prototype.push.apply(dirtyRegion, self._destroyRegion);
        self._destroyRegion = [];
    }

    if (self._recalcAll || self.forceDirty || dirtyRegion.length > 500) {
        self._recalcAll = false;
        self._currDirtyRegion = dirtyRegion = [
            { x: 0, y: 0, width: self.game.width, height: self.game.height }
        ];
        self.forceDirty = false;
    }
    else {
        // 合并脏矩形
        while (!self._mergeRect(dirtyRegion)) {}
    }

    var len = dirtyRegion.length;
    if (!len) {
        return false;
    }
    context.save();
    self._saveContext = true;
    context.beginPath();
    while (len--) {
        var region = dirtyRegion[len];
        if (!region || region.clip === 0)
            continue;
        if (region.clip)
            region = region.clip;

        context.rect(
            (region.x * resolution - 1) | 0,
            (region.y * resolution - 1) | 0,
            (region.width * resolution + 3) | 0,
            (region.height * resolution + 3) | 0);
    }
    context.clip();

    stage._displayChangeStatus = 0;
    return true;
};

/**
 * 重置画布状态
 */
DirtyRectangle.prototype.restore = function(context) {
    var self = this;
    if (self._saveContext) {
        context.restore();
        self._saveContext = false;
    }
};

/**
 * 检查绘制脏矩形区域的画布
 */
DirtyRectangle.prototype.checkShowDirtyCanvas = function() {
    var self = this;
    var gameCanvas = self.game.canvas;
    var canvas = self._dirtyCanvas;
    if (!gameCanvas)
        return false;
    if (!canvas) {
        canvas = self._dirtyCanvas = document.createElement('canvas');
        self._dirtyContext = self._dirtyCanvas.getContext('2d');
        gameCanvas.parentNode.insertBefore(self._dirtyCanvas, gameCanvas);
        canvas.style.left = canvas.style.top = '0px';
        canvas.style.position = 'absolute';
    }
    if (canvas.style.width !== gameCanvas.style.width ||
        canvas.style.height !== gameCanvas.style.height ||
        canvas.width !== gameCanvas.width ||
        canvas.height !== gameCanvas.height) {
        canvas.width = gameCanvas.width;
        canvas.height = gameCanvas.height;
        canvas.style.width = gameCanvas.style.width;
        canvas.style.height = gameCanvas.style.height;
    }
    return true;
};

/**
 * 释放绘制DirtyRegion的资源
 */
DirtyRectangle.prototype.releaseDirtyCanvas = function() {
    var self = this,
        canvas = self._dirtyCanvas;
    if (!canvas)
        return;
    this.dirtyContext = null;
    this._dirtyCanvas = null;
    if (canvas.parentElement) {
        canvas.parentElement.removeChild(canvas);
    }
};

/**
 * 显示脏矩形的更新区域
 */
DirtyRectangle.prototype.showDirtyRectangle = function(context, resolution) {
    if (!this._showDirtyRegion) {
        return;
    }
    var self = this;
    if (!self.checkShowDirtyCanvas())
        return;
    var canvas = self._dirtyCanvas;
    var dirtyContext = self._dirtyContext;
    dirtyContext.clearRect(0, 0, canvas.width, canvas.height);
    dirtyContext.beginPath();
    var dirtyRegion = this._currDirtyRegion;
    var len = dirtyRegion.length;
    var alpha = 0.9;
    if (len === 0 && this._lastShowAlpha > 0) {
        dirtyRegion = this._lastShowRegion;
        alpha = this._lastShowAlpha - 0.05;
        len = dirtyRegion.length;
    }
    else {
        this._lastShowRegion = dirtyRegion;
    }
    this._lastShowAlpha = alpha;
    while (len--) {
        var region = dirtyRegion[len];
        if (!region)
            continue;
        if(region.clip) {
            dirtyContext.rect(region.clip.x * resolution, region.clip.y * resolution, region.clip.width * resolution, region.clip.height * resolution);
        }
        else {
            dirtyContext.rect(region.x* resolution, region.y* resolution, region.width* resolution, region.height* resolution);
        }
    }
    dirtyContext.lineWidth = 3;
    dirtyContext.strokeStyle = 'rgba(255,255,0, ' + this._lastShowAlpha + ')';
    dirtyContext.stroke();
};


text:
'use strict';
//var angular;
/*jslint true*/

angular.module('app').controller('mgaQuestionAdminDetailCtrl', function ($scope, $routeParams, $location, ngDialog, mgaNotifier, mgaQuestionMethodSrvc, mgaQuestionSrvc, mgaIdentitySrvc) {

    $scope.question = mgaQuestionSrvc.get({_id: $routeParams.id});
    $scope.current_user = mgaIdentitySrvc.currentUser;

    $scope.mode_options = [
        {value: 'interview', text: 'Interview'},
        {value: 'desk_research', text: 'Desk Research'},
        {value: 'secondary_source', text: 'Secondary Source'}
    ];

    $scope.type_options = [
        {value: 'text', text: 'Text'},
        {value: 'multi', text: 'Score'},
        {value: 'bool', text: 'Yes/No/Partial'},
        {value: 'perc', text: 'Percentage'},
        {value: 'int', text: 'Integer'},
        {value: 'float', text: 'Decimal'}
    ];

    $scope.theme_options = [
        {value: 'A', text: 'Policy, Legislation, regulation'},
        {value: 'B', text: 'Accountability and Inclusiveness'},
        {value: 'C', text: 'Institutional Capacity and Effectiveness'},
        {value: 'D', text: 'Economic Environment'},
        {value: 'E', text: 'Political Environment'},
        {value: 'M', text: 'Importance of Mining'},
        {value: 'X', text: 'Descriptive Information'}
    ];

    $scope.value_chain_options = [
        {value: '1', text: 'Licenses and Exploration'},
        {value: '2', text: 'Operations and Mine Closure'},
        {value: '3', text: 'Local Impacts'},
        {value: '4', text: 'Taxation & State Participation'},
        {value: '5', text: 'Spending and Revenue Sharing'},
        {value: '6', text: 'Development Planning'}
    ];

    $scope.indicator_options = [
        {text:"Clear and competitive rules of licence allocation",value:"A-1-1"},
        {text:"Openness and transparency of licensing process",value:"B-1-1"},
        {text:"Collecting geological information",value:"C-1-1"},
        {text:"State of mapping and geological exploration",value:"C-1-2"},
        {text:"Mining cadastre effectiveness",value:"C-1-3"},
        {text:"Security of tenure",value:"C-1-4"},
        {text:"Managing licences effectively",value:"C-1-5"},
        {text:"Clarity and consistency of sector rules",value:"A-2-1"},
        {text:"Access to land, compensation and resettlement",value:"B-2-1"},
        {text:"Sector Management",value:"C-2-1"},
        {text:"Intergovernmental coordination",value:"C-2-2"},
        {text:"Policies to mitigate environmental and soclal impacts",value:"A-3-1"},
        {text:"Community impact and consultations",value:"B-3-1"},
        {text:"Human rights and employment equity",value:"B-3-2"},
        {text:"Implementing social and environmental regulation",value:"C-3-1"},
        {text:"Tax policy and instruments",value:"A-4-1"},
        {text:"Accountability of resource taxation, consultative approach to changes",value:"B-4-1"},
        {text:"Mining tax administration",value:"C-4-1"},
        {text:"State owned enterprise (SOE) governance",value:"C-4-3"},
        {text:"Predictable tax terms",value:"E-4-1"},
        {text:"PFM regulation and revenue sharing",value:"A-5-1"},
        {text:"Budget Implementation",value:"C-5-1"},
        {text:"Development planning and special linkages",value:"A-6-1"},
        {text:"Inclusive strategy",value:"B-6-1"},
        {text:"Public investment integrity",value:"B-6-2"},
        {text:"Local content",value:"B-6-3"},
        {text:"Beneficiation (Domestic value added)",value:"C-6-1"},
        {text:"Investment promotion (Diversification)",value:"C-6-2"},
        {text:"Leveraging infrastructure",value:"C-6-3"},
        {text:"Licence allocation and exploration - descriptive information",value:"X-1-0"},
        {text:"Mining rules and legislation - descriptive information",value:"X-2-0"},
        {text:"Environmental and social legislation - descriptive information",value:"X-3-0"},
        {text:"Tax policy - descriptive information",value:"X-4-0"},
        {text:"Spending - descriptive information",value:"X-5-0"},
        {text:"Country development and resource strategy - descriptive information",value:"X-6-0"},
        {text:"Geological prospectivity",value:"M-1-0"},
        {text:"State of mining operations",value:"M-2-0"},
        {text:"Significance of state participation",value:"M-4-2"},
        {text:"Predictable tax terms:",value:"E-4-1"},
        {text:"State equity participation",value:"E-4-2"},
        {text:"Geological prospectivity",value:"M-1-1"},
        {text:"Business and investment environment",value:"D-1-1"},
        {text:"Expropriation risk",value:"E-1-1"},
        {text:"Mining infrastructure",value:"D-2-1"},
        {text:"Political stability",value:"E-2-1"},
        {text:"Skills and human capital",value:"D-2-1"},
        {text:"Lack of violence and social issues",value:"E-2-1"},
        {text:"Stable revenues",value:"D-4-1"},
        {text:"Diversified revenues",value:"D-4-2"},
        {text:"Budget transparency and accountability",value:"B-5-1"},
        {text:"Macroeconomic stability",value:"D-5-1"},
        {text:"Control of corruption",value:"E-5-1"},
        {text:"Economic growth and savings",value:"D-6-1"},
        {text:"Human development",value:"E-6-1"},
        {text:"Employment impact of mining",value:"M-3-0"},
        {text:"Significance of mining revenues",value:"M-4-1"},
        {text:"Budget and subnational impact of mining revenues",value:"M-4-0"},
        {text:"Economic impact of mining",value:"M-5-0"}
    ];
    //TODO fix question reset
    //$scope.question_start = angular.copy($scope.question);
    //
    //$scope.questionClear = function () {
    //    $scope.question = angular.copy($scope.question_start);
    //};
    //TODO fix reording questions---update happens in question controller
    $scope.questionUpdate = function () {
        var new_question_data = $scope.question;

        mgaQuestionMethodSrvc.updateQuestion(new_question_data).then(function () {
            $location.path('/admin/question-admin');
            mgaNotifier.notify('Question data has been updated');
        }, function (reason) {
            mgaNotifier.error(reason);
        });
    };
    $scope.deleteConfirmDialog = function () {
        $scope.value = true;
        ngDialog.open({
            template: 'partials/dialogs/delete-question-confirmation-dialog',
            controller: 'mgaDeleteQuestionDialogCtrl',
            className: 'ngdialog-theme-plain',
            scope: $scope
        });
    };
    $scope.commentSubmit = function (current_user) {
        var new_comment_data, new_question_data;

        new_comment_data = {
            content: $scope.question.new_comment,
            author_name: current_user.firstName + ' ' + current_user.lastName,
            author: current_user._id,
            role: current_user.role,
            date: new Date().toISOString()
        };
        new_question_data = $scope.question;
        delete new_question_data.new_comment;

        new_question_data.comments.push(new_comment_data);

        mgaQuestionMethodSrvc.updateQuestion(new_question_data).then(function () {
            mgaNotifier.notify('Comment added');
        }, function (reason) {
            mgaNotifier.notify(reason);
        });
    };
});


text:
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Settings settings(0, "2048-qt", "2048-Qt");
    settings.setVersion(QString(APP_VERSION));

    // Localization
    QString locale;
    if (settings.contains("language")) {
        locale = settings.value("language").toString();
    } else {
        locale = QLocale::system().name();
        settings.setValue("language", locale);
    }

    QTranslator translator;
    if (! locale.startsWith("en")) {
        QString tsFile = "2048-qt_" + locale;

        if (translator.load(tsFile, ":/ts")) {
            qDebug() << "Successfully loaded " + tsFile;
            app.installTranslator(&translator);
        } else {
            qDebug() << "Failed to load " + tsFile;
        }
    }

    QQmlApplicationEngine engine;

    // Access C++ object "myClass" from QML as "myClass"
    MyClass myClass;
    engine.rootContext()->setContextProperty("myClass", &myClass);

    // Access C++ object "settings" from QML as "settings"
    engine.rootContext()->setContextProperty("settings", &settings);

    engine.load(QUrl(QStringLiteral("qrc:///qml/main.qml")));

    return app.exec();
}


text:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * Message string can be used with plural forms format. Check i18n section
 * of the guide for details.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 */
return array (
  'Are you sure you want to delete this item?' => 'Er du sikker på at du vil slette dette element?',
  'Delete' => 'Slet',
  'Displaying {start}-{end} of 1 result.|Displaying {start}-{end} of {count} results.' => 'Viser {start}-{end} af 1 resultat.|Viser {start}-{end} af {count} resultater.',
  'Either "name" or "value" must be specified for CDataColumn.' => 'Enten "name" eller "value" skal være defineret for CDataColumn.',
  'Home' => 'Start',
  'No results found.' => 'Ingen resultater fundet.',
  'Not set' => 'Ikke angivet',
  'Please specify the "attributes" property.' => 'Angiv venligst egenskaben "attributes".',
  'Please specify the "data" property.' => 'Angiv venligst egenskaben "data".',
  'Sort by: ' => 'Sorter efter: ',
  'The "dataProvider" property cannot be empty.' => 'Egenskaben "dataProvider" kan ikke være tom.',
  'The attribute must be specified in the format of "Name:Type:Label", where "Type" and "Label" are optional.' => 'Attributten skal være specificeret i formatet "Name:Type:Label", hvor "Type" og "Label" er valgfrie.',
  'The button type "{type}" is not supported.' => 'Knaptypen "{type}" er ikke supporteret.',
  'The column must be specified in the format of "Name:Type:Label", where "Type" and "Label" are optional.' => 'Kolonnen skal være specificeret i formatet "Name:Type:Label", hvor "Type" og "Label" er valgfrie.',
  'The property "itemView" cannot be empty.' => 'Egenskaben "itemView" kan ikke være tom.',
  'The property filterSelector should be defined.' => 'Egenskaben filterSelector burde være defineret.',
  'The property updateSelector should be defined.' => 'Egenskaben updateSelector burde være defineret.',
  'Total 1 result.|Total {count} results.' => 'Total 1 resultat.|Total {count} resultater.',
  'Update' => 'Opdater',
  'View' => 'Vis',
  '{class} must specify "model" and "{attribute}" or "{name}" property values.' => '{class} skal specificere værdier for egenskaberne "model" og "{attribute}" eller "{name}".' ,
);


text:
\section{Cross-platform frameworks}
\label{sec:crossplatform}

This section will evaluate different frameworks for cross-platform development, which could be used in the project.

It is considered a requirement that the application works on multiple platforms as the initial interview with the consultants, appendix \ref{app:ch:consultantsInterview}, established the needs for this. Further more the existing racket hardware communicates with \gls{bluetooth:ble}.
When working with new technologies the community is an indicator of the adoption of the technology and is considered important, as to avoid learning short-lived technologies.

The \textit{nice to have} requirements are defined from a developer's point of view.
If the framework supports both web and mobile applications, functionality can be reused and thus reduce development effort and costs.
Type safety also reduces development costs as the developer introduces fewer errors when the compiler detects mistakes.
To follow modern standards in mobile, and web, development, data must be reactive, as the users expect this.
If the code base compiles to native \glspl{api} as well, performance is increased and thus the user experience is improved.

The \textit{must have} and \textit{nice to have} capabilities are summed up below.

\subsection*{Must have}
\begin{itemize}
	\item Cross-platform capabilities.
	\item Wide community support.
	\item \gls{bluetooth:ble} capabilities.
\end{itemize}

\subsection*{Nice to have}
\begin{itemize}
	\item One framework both for web and mobile applications.
	\item Type safety in the programming language.
	\item Reactive data. Updated data in the database should be reflected on the clients.
	\item Compiles to native code for increased performance.
\end{itemize}

\subsection*{Meteor}
\textbf{Language:} JavaScript
\\
\textbf{Description:}
\\
\glsi{meteor} is a framework for developing both web and mobile applications.
It comes with \glsi{cordova} built-in and is considered super fast for developing applications and prototyping.
It comes with a lot of built-in tools and a package library for easy setup of things like user and login integrations of different kinds, e.g. Google and Facebook. It comes with \textit{hot code push}, which is a tool for uploading new versions of your application to the app stores.

\glsi{meteor} has its own \gls{cli} which is very useful when developing and it allows one to write the back-end in plain JavaScript.
Out of the box it integrates with \glsi{mongodb} and it uses \glsi{ddp} for sending data between the client and the server.
This data is reactive and will be updated at the clients when it changes.

\glsi{meteor} comes with its own view layer named \textit{Blaze} but this can be substituted with \glsi{react}, \glsi{ng1} or \glsi{ng2} if any of them are preferred.

\subsection*{NativeScript}
\textbf{Language:} JavaScript
\\
\textbf{Description:}
\\
\glsi{nativescript} uses a JavaScript toolchain to compile JavaScript code into the native \glspl{api}.
This is a huge advantage because it makes the application work exactly like it was written natively without ever writing any native code or knowing about the native \glspl{api}.
The markup is written in an \gls{xml} like language and is styled with \gls{css}.
Telerik, a big software company where one can opt-in for support through a paid license, develops it.

It is supported by Google and therefore works well with \glsi{ng2} and \gls{typescript} and with this the \textit{nice to have} feature ''type safety'' is fulfilled.
\Gls{bluetooth:ble} capabilities can be achieved with the \glsi{node} package \verb+nativescript-bluetooth+, created by \glsi{npm} user \textit{eddyverbruggen}.
\glsi{nativescript} supports \textit{iOS}, \textit{Android}, \textit{Universal Windows Platform} and if \glsi{ng2} is used it also supports building web applications \citep{preStudy:frameworks:nativescript}.

\subsection*{ReactNative}
\textbf{Language:} JavaScript, Objective-C and Java
\\
\textbf{Description:}
\\
\textit{ReactNative} is a framework by Facebook, Inc.
It extends the \glsi{react} framework for building native applications.
\textit{ReactNative} requires the developer to know Objective-C for \textit{iOS} development and Java for \textit{Android} development.
This does not fulfil the requirement that it has to be cross-platform without the developer needing to know about the distinct platform languages and \glspl{api}.

\subsection*{Xamarin}
\textbf{Language:} C\#
\\
\textbf{Description:}
\\
\textit{Xamarin} by Microsoft is a cross-platform framework for developing applications for \textit{iOS}, \textit{Android}, \textit{Windows Phone} and \textit{Windows Universal Platform}.
There are two main ways of developing with \textit{Xamarin}.
\textit{Xamarin forms} which is the method that has the highest amount of code-sharing between platforms.
It is estimated around 80-95\% code sharing depending on how specific the \gls{ui} has to be.
The other is \textit{Xamarin native}, which has around 50-60\% code sharing with mainly business login.
With this the \gls{ui} implementations differ for each platform.
When using \textit{Xamarin native} it is a huge advantage to know about the native \gls{ui} \glspl{api}.

\subsection*{Requirements summary}
This table shows how each framework fulfils the specified requirements.

\begin{tabularx}{\textwidth}{|l|C C C C|}
	\hline
	& \gls{meteor} & \gls{nativescript} & ReactNative & Xamarin \\
	\hline
	\textbf{Cross-platform} & \cmark & \cmark & \cmark & \cmark \\
	\hline
	\textbf{Community} & \cmark & \cmark & \cmark & \cmark \\
	\hline
	\textbf{\glssymbol{bluetooth:ble} capabilities} & \cmark & \cmark & \cmark & \cmark \\
	\hline
	One framework & \cmark & \cmark & \xmark & \xmark \\
	\hline
	Type safety & \xmark & \cmark & \xmark & \cmark \\
	\hline
	Reactive data & \cmark & \xmark & \xmark & \xmark \\
	\hline
	Native performance & \xmark & \cmark & \cmark & \cmark \\
	\hline
\end{tabularx}

\subsection*{Conclusion}
\Glsi{nativescript} fulfils most of our requirements out of the box.
The only thing that is not support is reactive data, however this can still be achieved with other tools.
Therefore the selection falls upon \glsi{nativescript}.


text:
<?php

use Mockery as m;
use Spatie\Backup\BackupHandlers\Database\Databases\MySQLDatabase;

class MySQLDatabaseTest extends PHPUnit_Framework_TestCase {

    protected $console;
    protected $database;

    public function setUp()
    {
        parent::setUp();

        $this->console = m::mock('Spatie\Backup\Console');

        $this->database = new MySQLDatabase(
            $this->console, 'testDatabase', 'testUser', 'password', 'localhost', '3306', '/var/run/mysqld/mysqld.sock'
        );
    }

    public function tearDown()
    {
        m::close();
    }

    public function testFileExtension()
    {
        $this->assertEquals(
            'sql', $this->database->getFileExtension()
        );
    }

    public function testDump()
    {
        $this->console->shouldReceive('run')
            ->with(m::on(function($parameter) {
                $pattern = "/mysqldump --defaults-extra-file='(.*)' --skip-comments --skip-extended-insert 'testDatabase' > 'testfile.sql'/";
                return preg_match($pattern, $parameter) == true;
            }), null)
            ->once()
            ->andReturn(true);

        $this->assertTrue(
            $this->database->dump('testfile.sql')
        );
    }

    public function testCustomSocket()
    {
        $this->database = new MySQLDatabase(
            $this->console, 'testDatabase', 'testUser', 'password', 'localhost', '3306', 'customSocket.sock'
        );
        $this->console->shouldReceive('run')
            ->with("/mysqldump --defaults-extra-file='(.*)' --skip-comments --skip-extended-insert 'testDatabase' > 'testfile.sql' --socket=customSocket.sock/", null)
            ->once()
            ->andReturn(true);

        $this->assertTrue(
            $this->database->dump('testfile.sql')
        );
    }
}


text:
#ifndef FIXEDBC_HPP
#define FIXEDBC_HPP

#include "BoundaryCondition.hpp"

/** \class FixedBC
 *  \brief This class models a simple fixed boundary conditions for
 *   prescribing the velocities in a Dynamical System. A simple
 *   boundary condition is considered to fix a component \f$ j \f$ of
 *   the velocity vector, i.e., \f$ v_j(t) = 0\f$
 *  \author SICONOS Development Team - copyright INRIA
 *  \version 4.1.0
 *  \date November 2016
 *
 */
class FixedBC : public  BoundaryCondition
{
public:

  /** \fn FixedBC(SP::UnsignedIntVector  newVelocityIndices);
   *  \brief Basic constructor
   *  \param newVelocityIndices the indices of the velocity subjected to prescribed velocities
   */

  FixedBC(SP::UnsignedIntVector newVelocityIndices) ;

  /** destructor */
  virtual ~FixedBC();

  /** default function to compute the precribed velocities
   *  \param  time : the current time
   */
  virtual void computePrescribedVelocity(double time);

protected:
  /** serialization hooks
  */
  ACCEPT_SERIALIZATION(FixedBC);

  /** protected default constructor */
  FixedBC(): BoundaryCondition() {};

};

TYPEDEF_SPTR(FixedBC)
#endif // FIXEDBC_HPP


text:
.class Lo/ʾ;
.super Ljava/lang/Object;
.source ""

# instance fields
.field private ˊ:Landroid/app/Notification$Builder;

# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/app/Notification;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/widget/RemoteViews;ILandroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/graphics/Bitmap;IIZZILjava/lang/CharSequence;)V
    .locals 4

    .line 33
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 34
    new-instance v0, Landroid/app/Notification$Builder;

    invoke-direct {v0, p1}, Landroid/app/Notification$Builder;-><init>(Landroid/content/Context;)V

    iget-wide v1, p2, Landroid/app/Notification;->when:J

    invoke-virtual {v0, v1, v2}, Landroid/app/Notification$Builder;->setWhen(J)Landroid/app/Notification$Builder;

    move-result-object v0

    iget v1, p2, Landroid/app/Notification;->icon:I

    iget v2, p2, Landroid/app/Notification;->iconLevel:I

    invoke-virtual {v0, v1, v2}, Landroid/app/Notification$Builder;->setSmallIcon(II)Landroid/app/Notification$Builder;

    move-result-object v0

    iget-object v1, p2, Landroid/app/Notification;->contentView:Landroid/widget/RemoteViews;

    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setContent(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;

    move-result-object v0

    iget-object v1, p2, Landroid/app/Notification;->tickerText:Ljava/lang/CharSequence;

    invoke-virtual {v0, v1, p6}, Landroid/app/Notification$Builder;->setTicker(Ljava/lang/CharSequence;Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;

    move-result-object v0

    iget-object v1, p2, Landroid/app/Notification;->sound:Landroid/net/Uri;

    iget v2, p2, Landroid/app/Notification;->audioStreamType:I

    invoke-virtual {v0, v1, v2}, Landroid/app/Notification$Builder;->setSound(Landroid/net/Uri;I)Landroid/app/Notification$Builder;

    move-result-object v0

    iget-object v1, p2, Landroid/app/Notification;->vibrate:[J

    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setVibrate([J)Landroid/app/Notification$Builder;

    move-result-object v0

    iget v1, p2, Landroid/app/Notification;->ledARGB:I

    iget v2, p2, Landroid/app/Notification;->ledOnMS:I

    iget v3, p2, Landroid/app/Notification;->ledOffMS:I

    invoke-virtual {v0, v1, v2, v3}, Landroid/app/Notification$Builder;->setLights(III)Landroid/app/Notification$Builder;

    move-result-object v0

    iget v1, p2, Landroid/app/Notification;->flags:I

    and-int/lit8 v1, v1, 0x2

    if-eqz v1, :cond_0

    const/4 v1, 0x1

    goto :goto_0

    :cond_0
    const/4 v1, 0x0

    :goto_0
    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setOngoing(Z)Landroid/app/Notification$Builder;

    move-result-object v0

    iget v1, p2, Landroid/app/Notification;->flags:I

    and-int/lit8 v1, v1, 0x8

    if-eqz v1, :cond_1

    const/4 v1, 0x1

    goto :goto_1

    :cond_1
    const/4 v1, 0x0

    :goto_1
    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setOnlyAlertOnce(Z)Landroid/app/Notification$Builder;

    move-result-object v0

    iget v1, p2, Landroid/app/Notification;->flags:I

    and-int/lit8 v1, v1, 0x10

    if-eqz v1, :cond_2

    const/4 v1, 0x1

    goto :goto_2

    :cond_2
    const/4 v1, 0x0

    :goto_2
    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setAutoCancel(Z)Landroid/app/Notification$Builder;

    move-result-object v0

    iget v1, p2, Landroid/app/Notification;->defaults:I

    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setDefaults(I)Landroid/app/Notification$Builder;

    move-result-object v0

    invoke-virtual {v0, p3}, Landroid/app/Notification$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;

    move-result-object v0

    invoke-virtual {v0, p4}, Landroid/app/Notification$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;

    move-result-object v0

    move-object/from16 v1, p16

    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setSubText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;

    move-result-object v0

    invoke-virtual {v0, p5}, Landroid/app/Notification$Builder;->setContentInfo(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;

    move-result-object v0

    invoke-virtual {v0, p8}, Landroid/app/Notification$Builder;->setContentIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;

    move-result-object v0

    iget-object v1, p2, Landroid/app/Notification;->deleteIntent:Landroid/app/PendingIntent;

    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setDeleteIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;

    move-result-object v0

    iget v1, p2, Landroid/app/Notification;->flags:I

    and-int/lit16 v1, v1, 0x80

    if-eqz v1, :cond_3

    const/4 v1, 0x1

    goto :goto_3

    :cond_3
    const/4 v1, 0x0

    :goto_3
    invoke-virtual {v0, p9, v1}, Landroid/app/Notification$Builder;->setFullScreenIntent(Landroid/app/PendingIntent;Z)Landroid/app/Notification$Builder;

    move-result-object v0

    invoke-virtual {v0, p10}, Landroid/app/Notification$Builder;->setLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$Builder;

    move-result-object v0

    invoke-virtual {v0, p7}, Landroid/app/Notification$Builder;->setNumber(I)Landroid/app/Notification$Builder;

    move-result-object v0

    move/from16 v1, p14

    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setUsesChronometer(Z)Landroid/app/Notification$Builder;

    move-result-object v0

    move/from16 v1, p15

    invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setPriority(I)Landroid/app/Notification$Builder;

    move-result-object v0

    move/from16 v1, p12

    move/from16 v2, p13

    invoke-virtual {v0, p11, v1, v2}, Landroid/app/Notification$Builder;->setProgress(IIZ)Landroid/app/Notification$Builder;

    move-result-object v0

    iput-object v0, p0, Lo/ʾ;->ˊ:Landroid/app/Notification$Builder;

    .line 59
    return-void
.end method

# virtual methods
.method public ˊ()Landroid/app/Notification;
    .locals 1

    .line 102
    iget-object v0, p0, Lo/ʾ;->ˊ:Landroid/app/Notification$Builder;

    invoke-virtual {v0}, Landroid/app/Notification$Builder;->build()Landroid/app/Notification;

    move-result-object v0

    return-object v0
.end method

.method public ˊ(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V
    .locals 1

    .line 62
    iget-object v0, p0, Lo/ʾ;->ˊ:Landroid/app/Notification$Builder;

    invoke-virtual {v0, p1, p2, p3}, Landroid/app/Notification$Builder;->addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;

    .line 63
    return-void
.end method

.method public ˊ(Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Z)V
    .locals 2

    .line 78
    new-instance v0, Landroid/app/Notification$BigPictureStyle;

    iget-object v1, p0, Lo/ʾ;->ˊ:Landroid/app/Notification$Builder;

    invoke-direct {v0, v1}, Landroid/app/Notification$BigPictureStyle;-><init>(Landroid/app/Notification$Builder;)V

    invoke-virtual {v0, p1}, Landroid/app/Notification$BigPictureStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;

    move-result-object v0

    invoke-virtual {v0, p4}, Landroid/app/Notification$BigPictureStyle;->bigPicture(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;

    move-result-object p1

    .line 81
    if-eqz p6, :cond_0

    .line 82
    invoke-virtual {p1, p5}, Landroid/app/Notification$BigPictureStyle;->bigLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;

    .line 84
    :cond_0
    if-eqz p2, :cond_1

    .line 85
    invoke-virtual {p1, p3}, Landroid/app/Notification$BigPictureStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;

    .line 87
    :cond_1
    return-void
.end method

.method public ˊ(Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Ljava/lang/CharSequence;)V
    .locals 2

    .line 67
    new-instance v0, Landroid/app/Notification$BigTextStyle;

    iget-object v1, p0, Lo/ʾ;->ˊ:Landroid/app/Notification$Builder;

    invoke-direct {v0, v1}, Landroid/app/Notification$BigTextStyle;-><init>(Landroid/app/Notification$Builder;)V

    invoke-virtual {v0, p1}, Landroid/app/Notification$BigTextStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;

    move-result-object v0

    invoke-virtual {v0, p4}, Landroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;

    move-result-object p1

    .line 70
    if-eqz p2, :cond_0

    .line 71
    invoke-virtual {p1, p3}, Landroid/app/Notification$BigTextStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;

    .line 73
    :cond_0
    return-void
.end method

.method public ˊ(Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Ljava/util/ArrayList;)V
    .locals 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Ljava/util/ArrayList<Ljava/lang/CharSequence;>;)V"
        }
    .end annotation

    .line 91
    new-instance v0, Landroid/app/Notification$InboxStyle;

    iget-object v1, p0, Lo/ʾ;->ˊ:Landroid/app/Notification$Builder;

    invoke-direct {v0, v1}, Landroid/app/Notification$InboxStyle;-><init>(Landroid/app/Notification$Builder;)V

    invoke-virtual {v0, p1}, Landroid/app/Notification$InboxStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;

    move-result-object p1

    .line 93
    if-eqz p2, :cond_0

    .line 94
    invoke-virtual {p1, p3}, Landroid/app/Notification$InboxStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;

    .line 96
    :cond_0
    invoke-virtual {p4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object p2

    :goto_0
    invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_1

    invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/CharSequence;

    move-object p3, v0

    .line 97
    invoke-virtual {p1, p3}, Landroid/app/Notification$InboxStyle;->addLine(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;

    goto :goto_0

    .line 99
    :cond_1
    return-void
.end method


text:
package http

import (
	"fmt"
	"net/http"
	"sync"
	"sync/atomic"
	"time"
)

//HTTPRequestKeyProvider represents request key provider to extract a request field.
type HTTPRequestKeyProvider func(source interface{}) (string, error)

//HTTPRequestKeyProviders represents key providers
var HTTPRequestKeyProviders = make(map[string]HTTPRequestKeyProvider)

type Server struct {
	http.Server
	*httpHandler
	trips            map[string]*HTTPResponses
	mux              sync.Mutex
	rotate           bool
	indexKeys        []string
	requestTemplate  string
	responseTemplate string
}

func (s *Server) Append(trips *HTTPServerTrips) {
	s.mux.Lock()
	defer s.mux.Unlock()
	if len(s.trips) > 0 {
		for k, v := range s.trips {
			if _, ok := trips.Trips[k]; ok {
				continue
			}
			trips.Trips[k] = v
		}
	}
	s.httpHandler.handler = getServerHandler(&s.Server, s.httpHandler, trips)
}

//StartServer starts http request, the server has ability to replay recorded  HTTP trips with https://github.com/viant/toolbox/blob/master/bridge/http_bridge_recording_util.go#L82
func StartServer(port int, trips *HTTPServerTrips, reqTemplate, respTemplate string) (*Server, error) {
	err := trips.Init(reqTemplate, respTemplate)
	if err != nil {
		return nil, fmt.Errorf("failed to start http server :%v, %v", port, err)
	}

	var httpHandler = &httpHandler{
		running: 1,
	}

	server := &Server{
		rotate:           trips.Rotate,
		indexKeys:        trips.IndexKeys,
		httpHandler:      httpHandler,
		trips:            trips.Trips,
		Server:           http.Server{Addr: fmt.Sprintf(":%v", port), Handler: httpHandler},
		requestTemplate:  reqTemplate,
		responseTemplate: respTemplate,
	}
	httpHandler.handler = getServerHandler(&server.Server, httpHandler, trips)

	errorNotification := make(chan bool, 1)
	go func() {
		fmt.Printf("Starting server on %v\n", port)
		err = server.Server.ListenAndServe()
		atomic.StoreInt32(&httpHandler.running, 0)
		errorNotification <- true
		if err != nil {
			err = fmt.Errorf("failed to start http server on port %v, %v", port, err)
		}
	}()

	//if there is error in starting server quite immediately
	select {
	case <-errorNotification:
	case <-time.After(time.Second * 2):
	}
	return server, err
}


text:
/**
 * @file
 * @brief POSIX arch specific kernel interface header
 * This header contains the POSIX arch specific kernel interface.
 * It is included by the generic kernel interface header (include/arch/cpu.h)
 *
 */

#ifndef _ARCH_IFACE_H
#define _ARCH_IFACE_H

#include <toolchain.h>
#include <irq.h>
#include <arch/posix/asm_inline.h>
#include <board_irq.h> /* Each board must define this */
#include <sw_isr_table.h>

#ifdef __cplusplus
extern "C" {
#endif

#define STACK_ALIGN 4
#define STACK_ALIGN_SIZE 4
#define OCTET_TO_SIZEOFUNIT(X) (X)
#define SIZEOFUNIT_TO_OCTET(X) (X)

#define _NANO_ERR_CPU_EXCEPTION (0)     /* Any unhandled exception */
#define _NANO_ERR_INVALID_TASK_EXIT (1) /* Invalid task exit */
#define _NANO_ERR_STACK_CHK_FAIL (2)    /* Stack corruption detected */
#define _NANO_ERR_ALLOCATION_FAIL (3)   /* Kernel Allocation Failure */
#define _NANO_ERR_SPURIOUS_INT (4)  /* Spurious interrupt */
#define _NANO_ERR_KERNEL_OOPS (5)       /* Kernel oops (fatal to thread) */
#define _NANO_ERR_KERNEL_PANIC (6)  /* Kernel panic (fatal to system) */

struct __esf {
	u32_t dummy; /*maybe we will want to add somethign someday*/
};

typedef struct __esf NANO_ESF;
extern const NANO_ESF _default_esf;

extern u32_t _timer_cycle_get_32(void);
#define _arch_k_cycle_get_32()  _timer_cycle_get_32()

FUNC_NORETURN void _SysFatalErrorHandler(unsigned int reason,
					 const NANO_ESF *esf);

FUNC_NORETURN void _NanoFatalErrorHandler(unsigned int reason,
					  const NANO_ESF *esf);

#ifdef __cplusplus
}
#endif

#endif /* _ARCH_IFACE_H */


text:
<?php

namespace backend\models;

use Yii;

/**
 * This is the model class for table "type".
 *
 * @property string $id
 * @property string $name
 * @property string $图标
 *
 * @property Questionnaire[] $questionnaires
 */
class Type extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'type';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['name'], 'required'],
            [['name', 'icon'], 'string', 'max' => 100],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => '主键',
            'name' => '类型名称',
            'icon' => '图标',
        ];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getQuestionnaires()
    {
        return $this->hasMany(Questionnaire::className(), ['type' => 'id'])->asArray();
    }
}


text:
.class public abstract Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
.super Lcom/android/internal/telephony/IIccPhoneBook$Stub;
.source "IccPhoneBookInterfaceManager.java"

# static fields
.field protected static final ALLOW_SIM_OP_IN_UI_THREAD:Z = false

.field protected static final DBG:Z = true

.field protected static final EVENT_GET_SIZE_DONE:I = 0x1

.field protected static final EVENT_LOAD_DONE:I = 0x2

.field protected static final EVENT_UPDATE_DONE:I = 0x3

# instance fields
.field protected adnCache:Lcom/android/internal/telephony/AdnRecordCache;

.field protected mBaseHandler:Landroid/os/Handler;

.field protected final mLock:Ljava/lang/Object;

.field protected phone:Lcom/android/internal/telephony/PhoneBase;

.field protected recordSize:[I

.field protected records:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Lcom/android/internal/telephony/AdnRecord;",
            ">;"
        }
    .end annotation
.end field

.field protected success:Z

# direct methods
.method public constructor <init>(Lcom/android/internal/telephony/PhoneBase;)V
    .locals 2
    .parameter "phone"

    .prologue
    .line 106
    invoke-direct {p0}, Lcom/android/internal/telephony/IIccPhoneBook$Stub;-><init>()V

    .line 40
    new-instance v1, Ljava/lang/Object;

    invoke-direct {v1}, Ljava/lang/Object;-><init>()V

    iput-object v1, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mLock:Ljava/lang/Object;

    .line 51
    new-instance v1, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;

    invoke-direct {v1, p0}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;-><init>(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;)V

    iput-object v1, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mBaseHandler:Landroid/os/Handler;

    .line 107
    iput-object p1, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->phone:Lcom/android/internal/telephony/PhoneBase;

    .line 108
    iget-object v1, p1, Lcom/android/internal/telephony/PhoneBase;->mIccRecords:Ljava/util/concurrent/atomic/AtomicReference;

    invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/android/internal/telephony/IccRecords;

    .line 109
    .local v0, r:Lcom/android/internal/telephony/IccRecords;
    if-eqz v0, :cond_0

    .line 110
    invoke-virtual {v0}, Lcom/android/internal/telephony/IccRecords;->getAdnCache()Lcom/android/internal/telephony/AdnRecordCache;

    move-result-object v1

    iput-object v1, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->adnCache:Lcom/android/internal/telephony/AdnRecordCache;

    .line 112
    :cond_0
    return-void
.end method

.method private updateEfForIccType(I)I
    .locals 2
    .parameter "efid"

    .prologue
    .line 295
    const/16 v0, 0x6f3a

    if-ne p1, v0, :cond_0

    .line 296
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->phone:Lcom/android/internal/telephony/PhoneBase;

    invoke-virtual {v0}, Lcom/android/internal/telephony/PhoneBase;->getCurrentUiccAppType()Lcom/android/internal/telephony/IccCardApplicationStatus$AppType;

    move-result-object v0

    sget-object v1, Lcom/android/internal/telephony/IccCardApplicationStatus$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/IccCardApplicationStatus$AppType;

    if-ne v0, v1, :cond_0

    .line 297
    const/16 p1, 0x4f30

    .line 300
    .end local p1
    :cond_0
    return p1
.end method

# virtual methods
.method protected checkThread()V
    .locals 2

    .prologue
    .line 275
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mBaseHandler:Landroid/os/Handler;

    invoke-virtual {v0}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;

    move-result-object v0

    invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_0

    .line 276
    const-string v0, "query() called on the main UI thread!"

    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->loge(Ljava/lang/String;)V

    .line 277
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "You cannot call query on this provder from the main UI thread."

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 281
    :cond_0
    return-void
.end method

.method public dispose()V
    .locals 0

    .prologue
    .line 115
    return-void
.end method

.method public getAdnRecordsInEf(I)Ljava/util/List;
    .locals 5
    .parameter "efid"
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I)",
            "Ljava/util/List",
            "<",
            "Lcom/android/internal/telephony/AdnRecord;",
            ">;"
        }
    .end annotation

    .prologue
    .line 252
    iget-object v2, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->phone:Lcom/android/internal/telephony/PhoneBase;

    invoke-virtual {v2}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;

    move-result-object v2

    const-string v3, "android.permission.READ_CONTACTS"

    invoke-virtual {v2, v3}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I

    move-result v2

    if-eqz v2, :cond_0

    .line 255
    new-instance v2, Ljava/lang/SecurityException;

    const-string v3, "Requires android.permission.READ_CONTACTS permission"

    invoke-direct {v2, v3}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V

    throw v2

    .line 259
    :cond_0
    invoke-direct {p0, p1}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->updateEfForIccType(I)I

    move-result p1

    .line 260
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "getAdnRecordsInEF: efid="

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p0, v2}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V

    .line 262
    iget-object v3, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mLock:Ljava/lang/Object;

    monitor-enter v3

    .line 263
    :try_start_0
    invoke-virtual {p0}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->checkThread()V

    .line 264
    new-instance v1, Ljava/util/concurrent/atomic/AtomicBoolean;

    const/4 v2, 0x0

    invoke-direct {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V

    .line 265
    .local v1, status:Ljava/util/concurrent/atomic/AtomicBoolean;
    iget-object v2, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mBaseHandler:Landroid/os/Handler;

    const/4 v4, 0x2

    invoke-virtual {v2, v4, v1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;

    move-result-object v0

    .line 266
    .local v0, response:Landroid/os/Message;
    iget-object v2, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->adnCache:Lcom/android/internal/telephony/AdnRecordCache;

    iget-object v4, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->adnCache:Lcom/android/internal/telephony/AdnRecordCache;

    invoke-virtual {v4, p1}, Lcom/android/internal/telephony/AdnRecordCache;->extensionEfForEf(I)I

    move-result v4

    invoke-virtual {v2, p1, v4, v0}, Lcom/android/internal/telephony/AdnRecordCache;->requestLoadAllAdnLike(IILandroid/os/Message;)V

    .line 267
    invoke-virtual {p0, v1}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Ljava/util/concurrent/atomic/AtomicBoolean;)V

    .line 268
    monitor-exit v3
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 269
    iget-object v2, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->records:Ljava/util/List;

    return-object v2

    .line 268
    .end local v0           #response:Landroid/os/Message;
    .end local v1           #status:Ljava/util/concurrent/atomic/AtomicBoolean;
    :catchall_0
    move-exception v2

    :try_start_1
    monitor-exit v3
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    throw v2
.end method

.method public abstract getAdnRecordsSize(I)[I
.end method

.method protected abstract logd(Ljava/lang/String;)V
.end method

.method protected abstract loge(Ljava/lang/String;)V
.end method

.method protected publish()V
    .locals 1

    .prologue
    .line 127
    const-string v0, "simphonebook"

    invoke-static {v0, p0}, Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V

    .line 128
    return-void
.end method

.method public updateAdnRecordsInEfByIndex(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)Z
    .locals 8
    .parameter "efid"
    .parameter "newTag"
    .parameter "newPhoneNumber"
    .parameter "index"
    .parameter "pin2"

    .prologue
    .line 208
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->phone:Lcom/android/internal/telephony/PhoneBase;

    invoke-virtual {v0}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;

    move-result-object v0

    const-string v1, "android.permission.WRITE_CONTACTS"

    invoke-virtual {v0, v1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I

    move-result v0

    if-eqz v0, :cond_0

    .line 211
    new-instance v0, Ljava/lang/SecurityException;

    const-string v1, "Requires android.permission.WRITE_CONTACTS permission"

    invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 215
    :cond_0
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "updateAdnRecordsInEfByIndex: efid="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " Index="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " ==> "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ","

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ")"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " pin2="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V

    .line 218
    iget-object v7, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mLock:Ljava/lang/Object;

    monitor-enter v7

    .line 219
    :try_start_0
    invoke-virtual {p0}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->checkThread()V

    .line 220
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->success:Z

    .line 221
    new-instance v6, Ljava/util/concurrent/atomic/AtomicBoolean;

    const/4 v0, 0x0

    invoke-direct {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V

    .line 222
    .local v6, status:Ljava/util/concurrent/atomic/AtomicBoolean;
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mBaseHandler:Landroid/os/Handler;

    const/4 v1, 0x3

    invoke-virtual {v0, v1, v6}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;

    move-result-object v5

    .line 223
    .local v5, response:Landroid/os/Message;
    new-instance v2, Lcom/android/internal/telephony/AdnRecord;

    invoke-direct {v2, p2, p3}, Lcom/android/internal/telephony/AdnRecord;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 224
    .local v2, newAdn:Lcom/android/internal/telephony/AdnRecord;
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->adnCache:Lcom/android/internal/telephony/AdnRecordCache;

    move v1, p1

    move v3, p4

    move-object v4, p5

    invoke-virtual/range {v0 .. v5}, Lcom/android/internal/telephony/AdnRecordCache;->updateAdnByIndex(ILcom/android/internal/telephony/AdnRecord;ILjava/lang/String;Landroid/os/Message;)V

    .line 225
    invoke-virtual {p0, v6}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Ljava/util/concurrent/atomic/AtomicBoolean;)V

    .line 226
    monitor-exit v7
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 227
    iget-boolean v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->success:Z

    return v0

    .line 226
    .end local v2           #newAdn:Lcom/android/internal/telephony/AdnRecord;
    .end local v5           #response:Landroid/os/Message;
    .end local v6           #status:Ljava/util/concurrent/atomic/AtomicBoolean;
    :catchall_0
    move-exception v0

    :try_start_1
    monitor-exit v7
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    throw v0
.end method

.method public updateAdnRecordsInEfBySearch(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    .locals 8
    .parameter "efid"
    .parameter "oldTag"
    .parameter "oldPhoneNumber"
    .parameter "newTag"
    .parameter "newPhoneNumber"
    .parameter "pin2"

    .prologue
    .line 160
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->phone:Lcom/android/internal/telephony/PhoneBase;

    invoke-virtual {v0}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;

    move-result-object v0

    const-string v1, "android.permission.WRITE_CONTACTS"

    invoke-virtual {v0, v1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I

    move-result v0

    if-eqz v0, :cond_0

    .line 163
    new-instance v0, Ljava/lang/SecurityException;

    const-string v1, "Requires android.permission.WRITE_CONTACTS permission"

    invoke-direct {v0, v1}, Ljava/lang/SecurityException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 168
    :cond_0
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "updateAdnRecordsInEfBySearch: efid="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " ("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ","

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ")"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "==>"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " ("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ","

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ")"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " pin2="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, p6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V

    .line 172
    invoke-direct {p0, p1}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->updateEfForIccType(I)I

    move-result p1

    .line 174
    iget-object v7, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mLock:Ljava/lang/Object;

    monitor-enter v7

    .line 175
    :try_start_0
    invoke-virtual {p0}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->checkThread()V

    .line 176
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->success:Z

    .line 177
    new-instance v6, Ljava/util/concurrent/atomic/AtomicBoolean;

    const/4 v0, 0x0

    invoke-direct {v6, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V

    .line 178
    .local v6, status:Ljava/util/concurrent/atomic/AtomicBoolean;
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mBaseHandler:Landroid/os/Handler;

    const/4 v1, 0x3

    invoke-virtual {v0, v1, v6}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;

    move-result-object v5

    .line 179
    .local v5, response:Landroid/os/Message;
    new-instance v2, Lcom/android/internal/telephony/AdnRecord;

    invoke-direct {v2, p2, p3}, Lcom/android/internal/telephony/AdnRecord;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 180
    .local v2, oldAdn:Lcom/android/internal/telephony/AdnRecord;
    new-instance v3, Lcom/android/internal/telephony/AdnRecord;

    invoke-direct {v3, p4, p5}, Lcom/android/internal/telephony/AdnRecord;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 181
    .local v3, newAdn:Lcom/android/internal/telephony/AdnRecord;
    iget-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->adnCache:Lcom/android/internal/telephony/AdnRecordCache;

    move v1, p1

    move-object v4, p6

    invoke-virtual/range {v0 .. v5}, Lcom/android/internal/telephony/AdnRecordCache;->updateAdnBySearch(ILcom/android/internal/telephony/AdnRecord;Lcom/android/internal/telephony/AdnRecord;Ljava/lang/String;Landroid/os/Message;)V

    .line 182
    invoke-virtual {p0, v6}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Ljava/util/concurrent/atomic/AtomicBoolean;)V

    .line 183
    monitor-exit v7
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 184
    iget-boolean v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->success:Z

    return v0

    .line 183
    .end local v2           #oldAdn:Lcom/android/internal/telephony/AdnRecord;
    .end local v3           #newAdn:Lcom/android/internal/telephony/AdnRecord;
    .end local v5           #response:Landroid/os/Message;
    .end local v6           #status:Ljava/util/concurrent/atomic/AtomicBoolean;
    :catchall_0
    move-exception v0

    :try_start_1
    monitor-exit v7
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    throw v0
.end method

.method public updateIccRecords(Lcom/android/internal/telephony/IccRecords;)V
    .locals 1
    .parameter "iccRecords"

    .prologue
    .line 118
    if-eqz p1, :cond_0

    .line 119
    invoke-virtual {p1}, Lcom/android/internal/telephony/IccRecords;->getAdnCache()Lcom/android/internal/telephony/AdnRecordCache;

    move-result-object v0

    iput-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->adnCache:Lcom/android/internal/telephony/AdnRecordCache;

    .line 123
    :goto_0
    return-void

    .line 121
    :cond_0
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->adnCache:Lcom/android/internal/telephony/AdnRecordCache;

    goto :goto_0
.end method

.method protected waitForResult(Ljava/util/concurrent/atomic/AtomicBoolean;)V
    .locals 2
    .parameter "status"

    .prologue
    .line 284
    :goto_0
    invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z

    move-result v1

    if-nez v1, :cond_0

    .line 286
    :try_start_0
    iget-object v1, p0, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mLock:Ljava/lang/Object;

    invoke-virtual {v1}, Ljava/lang/Object;->wait()V
    :try_end_0
    .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0

    goto :goto_0

    .line 287
    :catch_0
    move-exception v0

    .line 288
    .local v0, e:Ljava/lang/InterruptedException;
    const-string v1, "interrupted while trying to update by search"

    invoke-virtual {p0, v1}, Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V

    goto :goto_0

    .line 291
    .end local v0           #e:Ljava/lang/InterruptedException;
    :cond_0
    return-void
.end method


text:
<!DOCTYPE frameset SYSTEM "frameset.dtd">
<frameset>
    <predicate lemma="crunch">

        <roleset framnet="" id="crunch.01" name="reduce to small pieces" vncls="21.2-1 39.2-1 18.3 18.4-1">
            <roles>
                <role descr="causer of damage" f="" n="0">
                    <vnrole vncls="21.2-1" vntheta="agent"/>
                    <vnrole vncls="39.2-1" vntheta="agent"/>
                    <vnrole vncls="18.3" vntheta="agent"/>
                </role>
                <role descr="thing crunched" f="" n="1">
                    <vnrole vncls="21.2-1" vntheta="patient"/>
                    <vnrole vncls="39.2-1" vntheta="patient"/>
                    <vnrole vncls="18.3" vntheta="patient"/>
                    <vnrole vncls="18.4-1" vntheta="theme"/>
                </role>
                <role descr="endstate" f="" n="2"/>
                <note/>
            </roles>

            <example name="without endstate" src="" type="">
                <inflection aspect="ns" form="full" person="ns" tense="present" voice="active"/>
                <text>At this point , the options were : [*] Crunch money [*-1] to stop the boost in the aggregates , as Sir Alan surely advised [*?*] , and [*] forget the soaring pound .</text>
                <arg f="" n="0">[*]</arg>
                <rel f="">Crunch</rel>
                <arg f="" n="1">money</arg>
                <arg f="prp" n="m">[*-1] to stop the boost in the aggregates</arg>
                <note/>
            </example>

            <example name="with endstate" src="" type="">
                <inflection aspect="ns" form="full" person="ns" tense="past" voice="active"/>
                <text>At 10:33 , when the S&P 500 December futures contract crunched to a 12-point loss under the force of sell programs [*T*-4] , S&P futures trading was halted [*-1] and program trades on the Big Board were routed [*-2] into a special computer that [*T*-3] scans for order imbalances .</text>
                <arg f="" n="1">the S&P 500 December futures contract</arg>
                <rel f="">crunched</rel>
                <arg f="" n="2">to a 12-point loss</arg>
                <arg f="adv" n="m">under the force of sell programs</arg>
                <arg f="tmp" n="m">[*T*-4]</arg>
                <arg f="rcl" n="m">when ->  10:33</arg>
                <note/>
            </example>

            <note>frames created by Olga</note>
        </roleset>
        <note>Frames file for 'crunch' based on survey of sentences in the WSJ
            corpus.
        </note>
    </predicate>
    <note/>
</frameset>


text:
//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Code generated by conversion-gen. DO NOT EDIT.

package v1

import (
	unsafe "unsafe"

	conversion "k8s.io/apimachinery/pkg/conversion"
	runtime "k8s.io/apimachinery/pkg/runtime"
	podnodeconstraints "k8s.io/kubernetes/openshift-kube-apiserver/admission/scheduler/apis/podnodeconstraints"
)

func init() {
	localSchemeBuilder.Register(RegisterConversions)
}

// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(s *runtime.Scheme) error {
	if err := s.AddGeneratedConversionFunc((*PodNodeConstraintsConfig)(nil), (*podnodeconstraints.PodNodeConstraintsConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1_PodNodeConstraintsConfig_To_podnodeconstraints_PodNodeConstraintsConfig(a.(*PodNodeConstraintsConfig), b.(*podnodeconstraints.PodNodeConstraintsConfig), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*podnodeconstraints.PodNodeConstraintsConfig)(nil), (*PodNodeConstraintsConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_podnodeconstraints_PodNodeConstraintsConfig_To_v1_PodNodeConstraintsConfig(a.(*podnodeconstraints.PodNodeConstraintsConfig), b.(*PodNodeConstraintsConfig), scope)
	}); err != nil {
		return err
	}
	return nil
}

func autoConvert_v1_PodNodeConstraintsConfig_To_podnodeconstraints_PodNodeConstraintsConfig(in *PodNodeConstraintsConfig, out *podnodeconstraints.PodNodeConstraintsConfig, s conversion.Scope) error {
	out.NodeSelectorLabelBlacklist = *(*[]string)(unsafe.Pointer(&in.NodeSelectorLabelBlacklist))
	return nil
}

// Convert_v1_PodNodeConstraintsConfig_To_podnodeconstraints_PodNodeConstraintsConfig is an autogenerated conversion function.
func Convert_v1_PodNodeConstraintsConfig_To_podnodeconstraints_PodNodeConstraintsConfig(in *PodNodeConstraintsConfig, out *podnodeconstraints.PodNodeConstraintsConfig, s conversion.Scope) error {
	return autoConvert_v1_PodNodeConstraintsConfig_To_podnodeconstraints_PodNodeConstraintsConfig(in, out, s)
}

func autoConvert_podnodeconstraints_PodNodeConstraintsConfig_To_v1_PodNodeConstraintsConfig(in *podnodeconstraints.PodNodeConstraintsConfig, out *PodNodeConstraintsConfig, s conversion.Scope) error {
	out.NodeSelectorLabelBlacklist = *(*[]string)(unsafe.Pointer(&in.NodeSelectorLabelBlacklist))
	return nil
}

// Convert_podnodeconstraints_PodNodeConstraintsConfig_To_v1_PodNodeConstraintsConfig is an autogenerated conversion function.
func Convert_podnodeconstraints_PodNodeConstraintsConfig_To_v1_PodNodeConstraintsConfig(in *podnodeconstraints.PodNodeConstraintsConfig, out *PodNodeConstraintsConfig, s conversion.Scope) error {
	return autoConvert_podnodeconstraints_PodNodeConstraintsConfig_To_v1_PodNodeConstraintsConfig(in, out, s)
}


text:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var ProgramDetailComponent = (function () {
    function ProgramDetailComponent() {
    }
    return ProgramDetailComponent;
}());
ProgramDetailComponent.decorators = [
    { type: core_1.Component, args: [{
                selector: 'program-detail',
                templateUrl: './programdetail.component.html'
            },] },
];
/** @nocollapse */
ProgramDetailComponent.ctorParameters = function () { return []; };
ProgramDetailComponent.propDecorators = {
    'program': [{ type: core_1.Input },],
};
exports.ProgramDetailComponent = ProgramDetailComponent;
//# sourceMappingURL=programdetail.component.js.map


text:
<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    <title>Spark - It's big. It's data. It's Big Data.</title>

    <meta name="HandheldFriendly" content="True">
    <meta name="MobileOptimized" content="320">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

    <meta name="description" content="">

    <meta name="twitter:card" content="summary">
    <meta name="twitter:title" content="Spark - It's big. It's data. It's Big Data.">
    <meta name="twitter:description" content="">

    <meta property="og:type" content="article">
    <meta property="og:title" content="Spark - It's big. It's data. It's Big Data.">
    <meta property="og:description" content="">

    <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon">
    <link href="/apple-touch-icon-precomposed.png" rel="apple-touch-icon">

    <link href="//fonts.googleapis.com/" rel="dns-prefetch">
    <link href="//fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic|Open+Sans:700,400&subset=latin,latin-ext" rel="stylesheet">

    <link rel="stylesheet" href="//djmdata.github.io/themes/ghostium/assets/css/main.min.css?v=1482707159278"/>
    <link rel="stylesheet" href="//djmdata.github.io/themes/ghostium/assets/css/custom.css?v=1482707159278"/>
    <link rel="stylesheet" href="//djmdata.github.io/themes/ghostium/assets/css/asciidoctor-foundation.css?v=1482707159278"/>

    <link rel="canonical" href="https://djmdata.github.io/https://djmdata.github.io/tag/Spark/" />
    <meta name="referrer" content="origin" />

    <meta property="og:site_name" content="It's big. It's data. It's Big Data." />
    <meta property="og:type" content="website" />
    <meta property="og:title" content="Spark - It's big. It's data. It's Big Data." />
    <meta property="og:url" content="https://djmdata.github.io/https://djmdata.github.io/tag/Spark/" />
    <meta name="twitter:card" content="summary" />
    <meta name="twitter:title" content="Spark - It's big. It's data. It's Big Data." />
    <meta name="twitter:url" content="https://djmdata.github.io/https://djmdata.github.io/tag/Spark/" />

    <meta name="generator" content="HubPress" />
    <link rel="alternate" type="application/rss+xml" title="It's big. It's data. It's Big Data." href="https://djmdata.github.io/rss/" />

    <button data-action="open-drawer" id="drawer-button" class="drawer-button"></button>

              Home

              Subscribe to Feed

            Follow me

              Twitter

It's big. It's data. It's Big Data.

Description here.

Posts tagged with Spark

                My titlez2

Lorem ipsu2m …… code2…

                <time datetime="2016-12-25" itemprop="datePublished">
                  16 hours ago
                </time>

                      Spark, fred

                Comments

  Page 1 of 1

Copyright © It's big. It's data. It's Big Data.. 2016. All Rights Reserved.

Ghostium Theme by @oswaldoacauan

Adapted by Maxime Gréau

Published with HubPress