text:
package com.frameworkset.platform.cms.driver.dataloader;

import java.util.Map;

import com.frameworkset.orm.transaction.TransactionManager;
import com.frameworkset.platform.cms.documentmanager.Document;
import com.frameworkset.platform.cms.documentmanager.DocumentManagerException;
import com.frameworkset.platform.cms.driver.config.DriverConfigurationException;
import com.frameworkset.platform.cms.driver.context.ContentContext;

public class DefaultDetailDataLoader extends CMSDetailDataLoader implements java.io.Serializable {

	/**
	 * 获取文档详细信息
	 */
	public Object doGetContent(ContentContext contentcontext)
			throws CMSDataLoadException {

		Document doc = null;
		TransactionManager tm = new TransactionManager();
		// if(doc == null)
		try {
//			doc = contentcontext.getDriverConfiguration().getCMSService()
//					.getDocumentManager().getDoc(contentcontext);
			tm.begin();
			doc = contentcontext.getDocument();
			if(doc.getDocExtField() != null)
			{
				tm.commit();
				return doc;
			}
//			/*
//			 * 处理文档内容中的链接和路径信息
//			 */
//			String content = doc.getContent();
//			CmsLinkProcessor processor = new CmsLinkProcessor(contentcontext,CmsLinkProcessor.REPLACE_LINKS,CmsEncoder.ENCODING_ISO_8859_1);
//			processor.setHandletype(CmsLinkProcessor.PROCESS_CONTENT);
//			try {
//				content = processor.process(content,CmsEncoder.ENCODING_ISO_8859_1);
//				doc.setContent(content);
//			} catch (ParserException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
			/**
			 * 获取相关文档
			 */

			if(!contentcontext.isPreviewDocumentMode())
			{
//				List relationDocuments = contentcontext.getDriverConfiguration()
//													   .getCMSService()
//													   .getDocumentManager()
//													   .getRelatedDocsOfDoc(doc.getDocument_id() + "");
//
//				doc.setRelationDocumemnts(relationDocuments);
				if (doc.getType() == 0)// 普通文档
				{
					//无需进行处理
				}
				else if (doc.getType() == 1) // 装载聚合文档
				{
//					List compositeDoc = contentcontext.getDriverConfiguration()
//							.getCMSService().getDocumentManager().getCompositeDocs(
//									contentcontext);
//					doc.setCompositeDocs(compositeDoc);
				}

				else if (doc.getType() == 2) // 装载分页文档
				{
//					List pagingDocs = contentcontext.getDriverConfiguration()
//							.getCMSService().getDocumentManager().getPagingDocs(
//									contentcontext);
//					doc.setPagingDocs(pagingDocs);
				}

				Map docExtField = contentcontext.getDriverConfiguration()
												   .getCMSService()
												   .getDocumentManager()
												   .getDocExtFieldMapBean(doc.getDocument_id() + "");
				doc.setDocExtField(docExtField);
			}
			doc.setPublishTime(contentcontext.getPublishTime());
			tm.commit();
//			System.out.println("doc.getPublishTime():" + doc.getPublishTime());

			// if(doc == null)
			// throw new CMSDataLoadException("装载数据出错:"
			// +contentcontext.toString() + "不存在.");
			// contents.put(contentkey,doc);
		} catch (DocumentManagerException e) {
			throw new CMSDataLoadException("装载数据出错:"
					+ contentcontext.toString() + "," + e .getMessage());
		} catch (DriverConfigurationException e) {
			throw new CMSDataLoadException("装载数据出错:"
					+ contentcontext.toString() + "," + e.getMessage());
		}
		 catch (Exception e) {
				throw new CMSDataLoadException("装载数据出错:"
						+ contentcontext.toString() + "," + e.getMessage());
		}
		finally
		{
			tm.release();
		}

		return doc;
	}

}

redpajama_set_name: RedPajamaGithub


text:
'use strict';

// Declare app level module which depends on views, and components
angular.module('myApp', [
  'ngRoute',
  'myApp.mainView',
  'myApp.view2',
  'myApp.directive',
  'myApp.factory',
  'myApp.service',
  'myApp.version',
  'ui.bootstrap'
])
    .config(['$routeProvider', function($routeProvider) {
        $routeProvider.otherwise({redirectTo: '/main-view'});
    }])
    .controller('appController',['$scope','appConfig', 'TextProvider', function ($scope, appConfig, TextProvider){
            $scope.appName = appConfig.appName;
            var appState = {};

            var init = function () {

            };

            init();
    }]);
angular.module('myApp.directive',[]);
angular.module('myApp.factory',[]);
angular.module('myApp.service',[]);


text:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using System.Web.Script.Serialization;
using Newtonsoft.Json;

namespace SmtpComAPI.samples
{
    public static class Templates
    {
        static Templates()
        {
        }

        public static string GetTemplate(string templateId)
        {
            string result = null;

            // Build Request Payload
            // ---------------------------------------------------------------------------------------------
            var json = JsonConvert.SerializeObject(new {
                ApiSettings.ApiKey,

                TemplateID = templateId
            });

            // Call the API
            HttpWebRequest apiReply = Utils.CallSmtpApi(json.ToString(), "template/get");

            // Get API response
            result = Utils.ParseSmtpApiResponse(apiReply);

            return result;
        }

        public static string GetTemplates(int count, int page)
        {
            string result = null;

            // Build Request Payload
            // ---------------------------------------------------------------------------------------------
            var json = JsonConvert.SerializeObject(new {
                ApiSettings.ApiKey,

                Count = count,
                Page = page
            });

            // Call the API
            HttpWebRequest apiReply = Utils.CallSmtpApi(json.ToString(), "templates/get");

            // Get API response
            result = Utils.ParseSmtpApiResponse(apiReply);

            return result;
        }

        public static string AddTemplate(string templateName, string subject, string html, string from, string fromName)
        {
            string result = null;

            // Build Request Payload
            // ---------------------------------------------------------------------------------------------
            var json = JsonConvert.SerializeObject(new {
                ApiSettings.ApiKey,

                TemplateName = templateName,

                Subject = subject,
                Html = html,

                From = from,
                FromName = fromName
            });

            // Call the API
            HttpWebRequest apiReply = Utils.CallSmtpApi(json.ToString(), "templates/add");

            // Get API response
            result = Utils.ParseSmtpApiResponse(apiReply);

            return result;
        }

        public static string UpdateTemplate(string templateId, string templateName, string subject, string html, string from, string fromName)
        {
            string result = null;

            // Build Request Payload
            // ---------------------------------------------------------------------------------------------
            var json = JsonConvert.SerializeObject(new {
                ApiSettings.ApiKey,

                TemplateId = templateId,
                TemplateName = templateName,

                Subject = subject,
                Html = html,

                From = from,
                FromName = fromName
            });

            // Call the API
            HttpWebRequest apiReply = Utils.CallSmtpApi(json.ToString(), "templates/update");

            // Get API response
            result = Utils.ParseSmtpApiResponse(apiReply);

            return result;
        }

        public static string DeleteTemplate(string templateId)
        {
            string result = null;

            // Build Request Payload
            // ---------------------------------------------------------------------------------------------
            var json = JsonConvert.SerializeObject(new {
                ApiSettings.ApiKey,
                TemplateId = templateId
            });

            // Call the API
            HttpWebRequest apiReply = Utils.CallSmtpApi(json.ToString(), "templates/delete");

            // Get API response
            result = Utils.ParseSmtpApiResponse(apiReply);

            return result;
        }
    }
}


text:
using System.Collections.Generic;
using NUnit.Framework;

namespace VersionOne.Localization.Tests
{
	public class SetOverrideTesterBase
	{
		protected Localizer loc;

		[TestFixtureSetUp] public void Setup ()
		{
			LocalizationManager mgr = new LocalizationManager("en", new MyTemplateSetLoader(), null, "Base");
			loc = mgr.DefaultLocalizer;
		}

		[Test] public void NotFound ()
		{
			Assert.AreEqual("bogus", loc.Resolve("bogus"));
		}

		[Test] public void Comment ()
		{
			Assert.AreEqual("Comment", loc.Resolve("Comment"));
		}

		[Test] public void Multiline ()
		{
			Assert.AreEqual("First line\nSecond line", loc.Resolve("LongText"));
		}

		[Test] public void Plural ()
		{
			Assert.AreEqual("Projects", loc.Resolve("Plural'Project"));
		}

		[Test] public void PluralStory ()
		{
			Assert.AreEqual("Stories", loc.Resolve("Plural'Story"));
		}

		[Test] public void TemplateExpansion ()
		{
			Assert.AreEqual("Delete Story", loc.Resolve("Command'Delete'Story"));
		}

		[Test] public void Fixed ()
		{
			Assert.AreEqual("Never Change", loc.Resolve("Fixed"));
		}

		[Test] public void TagWithEqualSigns ()
		{
			Assert.AreEqual("Equal-sign free", loc.Resolve("This=has=equal=signs"));
		}
	}

	public class SetOverrideTesterScrum
	{
		protected Localizer loc;

		[TestFixtureSetUp] public void Setup ()
		{
			LocalizationManager mgr = new LocalizationManager("en", new MyTemplateSetLoader(), null, "Base", "Scrum");
			loc = mgr.DefaultLocalizer;
		}

		[Test] public void SomeThingsDontChange ()
		{
			Assert.AreEqual("Projects", loc.Resolve("Plural'Project"));
		}

		[Test] public void Story ()
		{
			Assert.AreEqual("Backlog Item", loc.Resolve("Story"));
		}

		[Test] public void PluralStory ()
		{
			Assert.AreEqual("Backlog Items", loc.Resolve("Plural'Story"));
		}

		[Test] public void TemplateExpansion ()
		{
			Assert.AreEqual("Delete Backlog Item", loc.Resolve("Command'Delete'Story"));
		}

		[Test] public void Fixed ()
		{
			Assert.AreEqual("Never Change", loc.Resolve("Fixed"));
		}
	}

	public class SetOverrideTesterCustom
	{
		protected Localizer loc;

		[TestFixtureSetUp] public void Setup ()
		{
			LocalizationManager mgr = new LocalizationManager("en", new MyTemplateSetLoader(), null, "Base", "Scrum", "Custom");
			loc = mgr.DefaultLocalizer;
		}

		[Test] public void SomeThingsStillDontChange ()
		{
			Assert.AreEqual("Projects", loc.Resolve("Plural'Project"));
		}

		[Test] public void Story ()
		{
			Assert.AreEqual("PBI", loc.Resolve("Story"));
		}

		[Test] public void PluralStory ()
		{
			Assert.AreEqual("PBIs", loc.Resolve("Plural'Story"));
		}

		[Test] public void TemplateExpansion ()
		{
			Assert.AreEqual("Remove PBIs", loc.Resolve("Command'Delete'Story"));
		}

		[Test] public void Fixed ()
		{
			Assert.AreEqual("Never Change", loc.Resolve("Fixed"));
		}
	}

	public class SetGlobalOverridesTester
	{
		protected LocalizationManager mgr;
		protected Localizer loc;

		[TestFixtureSetUp]
		public void Setup()
		{
			IDictionary<string, string> overrides = new Dictionary<string, string>();
			overrides.Add("Story", "Bone");
			overrides.Add("DEF", "fed");

			mgr = new LocalizationManager("en", new MyTemplateSetLoader(), overrides, "Base", "Scrum", "Custom");
			loc = mgr.DefaultLocalizer;
		}

		[Test]
		public void SomeThingsStillDontChange()
		{
			Assert.AreEqual("Projects", loc.Resolve("Plural'Project"));
		}

		[Test]
		public void Story()
		{
			Assert.AreEqual("Bone", loc.Resolve("Story"));
		}

		[Test]
		public void PluralStory()
		{
			Assert.AreEqual("Bones", loc.Resolve("Plural'Story"));
		}

		[Test]
		public void TemplateExpansion()
		{
			Assert.AreEqual("Remove Bones", loc.Resolve("Command'Delete'Story"));
		}

		[Test]
		public void Fixed()
		{
			Assert.AreEqual("Never Change", loc.Resolve("Fixed"));
		}

		[Test]
		public void MoreGlobalOverrides()
		{
			Assert.AreEqual("ABC fed GHI", loc.Resolve("XYZ"));
		}

		[Test]
		public void CultureFallbackToDefault()
		{
			Assert.AreEqual("fed", mgr.GetLocalizer("fr").Resolve("DEF"));
		}

		[Test]
		public void CultureOverridesDefault()
		{
			Assert.AreEqual("PQR", mgr.GetLocalizer("fr-FR").Resolve("DEF"));
		}

		[Test]
		public void NonExistantCultureFallbackToDefault()
		{
			Assert.AreEqual("ABC fed GHI", mgr.GetLocalizer("ru").Resolve("XYZ"));
		}
	}
}


text:
/**
* @ngdoc directive
* @name umbraco.directives.directive:navResize
* @restrict A
 *
 * @description
 * Handles how the navigation responds to window resizing and controls how the draggable resize panel works
**/
angular.module("umbraco.directives")
    .directive('navResize', function (appState, eventsService, windowResizeListener) {
        return {
            restrict: 'A',
            link: function (scope, element, attrs, ctrl) {

                var minScreenSize = 1100;
                var resizeEnabled = false;

                function setTreeMode() {
                    appState.setGlobalState("showNavigation", appState.getGlobalState("isTablet") === false);
                }

                function enableResize() {
                    //only enable when the size is correct and it's not already enabled
                    if (!resizeEnabled && appState.getGlobalState("isTablet") === false) {
                        element.resizable(
                        {
                            containment: $("#mainwrapper"),
                            autoHide: true,
                            handles: "e",
                            alsoResize: ".navigation-inner-container",
                            resize: function(e, ui) {
                                var wrapper = $("#mainwrapper");
                                var contentPanel = $("#contentwrapper");
                                var umbNotification = $("#umb-notifications-wrapper");
                                var apps = $("#applications");
                                var bottomBar = contentPanel.find(".umb-bottom-bar");
                                var navOffeset = $("#navOffset");

                                var leftPanelWidth = ui.element.width() + apps.width();

                                contentPanel.css({ left: leftPanelWidth });
                                bottomBar.css({ left: leftPanelWidth });
                                umbNotification.css({ left: leftPanelWidth });

                                navOffeset.css({ "margin-left": ui.element.outerWidth() });
                            },
                            stop: function (e, ui) {

                            }
                        });

                        resizeEnabled = true;
                    }
                }

                function resetResize() {
                    if (resizeEnabled) {
                        //kill the resize
                        element.resizable("destroy");
                        element.css("width", "");

                        var navInnerContainer = element.find(".navigation-inner-container");

                        navInnerContainer.css("width", "");
                        $("#contentwrapper").css("left", "");
                        $("#umb-notifications-wrapper").css("left", "");
                        $("#navOffset").css("margin-left", "");

                        resizeEnabled = false;
                    }
                }

                var evts = [];

                //Listen for global state changes
                evts.push(eventsService.on("appState.globalState.changed", function (e, args) {
                    if (args.key === "showNavigation") {
                        if (args.value === false) {
                            resetResize();
                        }
                        else {
                            enableResize();
                        }
                    }
                }));

                var resizeCallback = function(size) {
                    //set the global app state
                    appState.setGlobalState("isTablet", (size.width <= minScreenSize));
                    setTreeMode();
                };

                windowResizeListener.register(resizeCallback);

                //ensure to unregister from all events and kill jquery plugins
                scope.$on('$destroy', function () {
                    windowResizeListener.unregister(resizeCallback);
                    for (var e in evts) {
                        eventsService.unsubscribe(evts[e]);
                    }
                    var navInnerContainer = element.find(".navigation-inner-container");
                    navInnerContainer.resizable("destroy");
                });

                //init
                //set the global app state
                appState.setGlobalState("isTablet", ($(window).width() <= minScreenSize));
                setTreeMode();
            }
        };
    });


text:
StepStone
=========

A relay optimizer for multi-channel online media streaming


text:
<?php

/**
 * This Page shows Event's information
 *  @property string UserType Type of the web user
 *  @property Event $event The event that planner created
 */
class EventPage extends Page {

    const UserType = "Planner";

    private $event;

    public function callBack($data, $action, PageBody &$body) {
        if (array_key_exists("do", $data))
            {
switch ($data["do"]) {
                case "create": // create a new event

                    $this->event = new stdClass(); // for testing - should be Event class
                    $this->event->name = $data['eventName'];

                    // save event
                    $this->event->id = Database::insert("Event", $this->event);
                    $body->addToTop(new Message("Event was created", Message::SUCCESS));
                    break;
                case "update": // update an event
                    $values = "name='" . Validation::validate($data['eventName'], Validation::NAME) . "'";
                    $values .= ",startDate='" . Validation::validate($data['startDate'], Validation::DATE) . "'";
                    $values .= ",startTime='" . Validation::validate($data['startTime'], Validation::TIME) . "'";
                    Database::update("Event", $values, "event_id=" . $data['id']);
                    $body->addToTop(new Message("Event was Updated", Message::SUCCESS));
                    break;
            }
}
    }

    protected function build(PageBody &$body, SubMenu &$submenu) {

        $subPage = isset($_GET['subpage']) ? $_GET['subpage'] : '';

        // get event
        if (isset($_GET['event'])) {
            $this->event = Event::getEvent($_GET['event']);
        }

        // if event does not exist, show error message
        if ($this->event == null) {
            $body->addToTop(new Message("No Event", Message::DANGER));
            return;
        }

        // set the name of the page
        $this->pageName = $this->event->name;

        $submenu->addLink("Event Details", "?page=Event&event=" . $this->event->event_id, $subPage == '');
        $submenu->addLink("Update Event", "?page=Event&event=" . $this->event->event_id . "&subpage=update", $subPage == 'update');
        $submenu->addSplitter();
        //$submenu->addLink("Send Email Invitation", "?page=Event&event=" . $this->event->event_id . "&subpage=send", $subPage == 'send');
        //$submenu->addSplitter();
        $participants = $this->event->getNumberOfParticipants();
        $missing = $participants - $this->event->getNumberOfParticipantion();
        $submenu->addLink("Show All Participants", "?page=Event&event=" . $this->event->event_id . "&subpage=participants", $subPage == 'participants', false, $participants);
        //$submenu->addLink("Show Missing Participants", "#", false, false, $missing);
        //$submenu->addLink("Show Event Attendances", "#", false, false, 10);
        //$submenu->addSplitter();
        //$submenu->addLink("Build Schedule", "#");
        //$submenu->addLink("Send Schedule", "#");
        //$submenu->addLink("Start Timer", "#");
        if ($this->event->type == Event::ONETOONE) {
            $submenu->addLink("Event Tables", "?page=Event&event=" . $this->event->event_id . "&subpage=EventTables", $subPage == 'EventTables', false, floor($participants / 2));
            $submenu->addLink("Print Table Names", "?page=Event&event=" . $this->event->event_id . "&subpage=printTableNames", $subPage == 'printTableNames');
        }
        $submenu->addSplitter();
        $submenu->addDangerLink("Delete Event", "#");

        $body->addToTop(new CustomHTML("

 " . $this->event->name . "

        "));

        if ($subPage == '')
            $body->addToCenter(new CustomHTML("

Name

" . $this->event->name . "

Event Type

" . $this->event->getType() . "

Start Date

" . $this->event->getStartDate() . "

Start Time

" . $this->event->getStartTime() . "

End Time

" . $this->event->getEndTime() . "

Sessions

" . $this->event->rounds . "

Session Length

" . $this->event->roundLength . "

Event Length

" . $this->event->eventLength . "

            "));
        else if ($subPage == 'update') {
            $form = new Form("Event&event=" . $this->event->event_id . "&subpage=update");
            $form->addInput(Input::textInput("eventName", "Event Name", $this->event->name, TRUE));
            $form->addInput(Input::createGroupInput(array(
                        Input::dateInput("startDate", "Start Date", $this->event->getStartDate(), TRUE),
                        Input::timeInput("startTime", "Start Time", $this->event->getStartTime(), TRUE)
            )));

//            $section = $form->newSection("Fill two fields and the third one will be calculated");
//            $section->addInput(Input::createGroupInput(array(
//                Input::textInput("numberOfRounds","Number of Rounds","",True),
//                Input::textInput("timeOfSessions","Length of the Sessions and Breaks","",True),
//                Input::textInput("lengthOfEntireEvent","Length of The Entire Event","",True),
//            )));

            $form->addInput(Input::hiddenInput("id", $this->event->event_id));
            $form->addInput(Input::hiddenInput("do", "update"));
            $body->addToCenter($form);
        } else if ($subPage == 'send') {
            $form = new Form("Event");
            $form->addInput(Input::tokenInput("emails", "Send To:"));
            $form->addInput(Input::textInput("subject", "Subject", "Invitation to " . $this->event->name));
            $form->addInput(Input::textareaInput("message", "Message"));
            $body->addToCenter($form);
        } else if ($subPage == 'participants') {
            $table = new HtmlTable();
            $table->setHead(array("First Name", "Last Name", "Email", "Phone"));
            foreach ($this->event->getParticipants() as $key => $participant) {
                $table->addRow(array($participant->fname, $participant->lname, $participant->email, $participant->phone));
            }
            $body->addToCenter($table);
        } elseif ($subPage == "EventTables") {

            /* @var  $tables Table[]  */
            $tables = Database::getObjects("Table", "Where event_id=" . $this->event->event_id);
            //var_dump($tables);
            $form = new Form("");
            for ($i = 0; $i < floor($participants / 2); $i++) {
                $tableName = "";
                if ($tables)
                    if (array_key_exists($i, $tables))
                        $tableName = $tables[$i]->table_name;
//                else
//                    $tableName = "Table ".$i;

                $form->addInput(
                        Input::textInput("table-" . ($i + 1), "Table " . ($i + 1) . " Name", $tableName)
                );
            }
            $body->addToCenter($form);
        } elseif ($subPage == "printTableNames") {
            $this->printTableNames($body,$participants);
        }
    }

    function printTableNames(PageBody &$body,$participants) {

        /* @var  $tables Table[]  */
        $tables = Database::getObjects("Table", "Where event_id=" . $this->event->event_id);
        //var_dump($tables);

        for ($i = 0; $i < floor($participants / 2); $i++) {
            $tableName = "";
            if ($tables)
                if (array_key_exists($i, $tables))
                    $tableName = $tables[$i]->table_name;
//                else
//                    $tableName = "Table ".$i;
            $body->addToCenter(new CustomHTML("

"));
            $body->addToCenter(new CustomHTML("

"));
            $body->addToCenter(new CustomHTML("
Table " . ($i + 1) ."
"));
            $body->addToCenter(new CustomHTML("
" . $tableName ."
"));
            $body->addToCenter(new CustomHTML("

"));
        }
        $body->addToBottom(new CustomHTML('

        '));
//        ob_start();
        ?>

        <?php
//
//        $html = ob_get_contents();
//        ob_clean();
//        return new CustomHTML($html);
    }

}


text:
.class public Lcom/android/server/gesture/GestureService;
.super Landroid/service/gesture/IGestureService$Stub;
.source "GestureService.java"

# static fields
.field public static final DEBUG:Z = false

.field public static final TAG:Ljava/lang/String; = "GestureService"

# instance fields
.field private mContext:Landroid/content/Context;

.field private mInputFilter:Lcom/android/server/gesture/GestureInputFilter;

.field private mInputManager:Lcom/android/server/input/InputManagerService;

# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;)V
    .locals 0
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "inputManager"    # Lcom/android/server/input/InputManagerService;

    .prologue
    .line 44
    invoke-direct {p0}, Landroid/service/gesture/IGestureService$Stub;-><init>()V

    .line 45
    iput-object p1, p0, Lcom/android/server/gesture/GestureService;->mContext:Landroid/content/Context;

    .line 46
    iput-object p2, p0, Lcom/android/server/gesture/GestureService;->mInputManager:Lcom/android/server/input/InputManagerService;

    .line 47
    return-void
.end method

# virtual methods
.method public setOnDoubleClickPendingIntent(Landroid/app/PendingIntent;)V
    .locals 1
    .param p1, "pendingIntent"    # Landroid/app/PendingIntent;

    .prologue
    .line 61
    iget-object v0, p0, Lcom/android/server/gesture/GestureService;->mInputFilter:Lcom/android/server/gesture/GestureInputFilter;

    invoke-virtual {v0, p1}, Lcom/android/server/gesture/GestureInputFilter;->setOnDoubleClickPendingIntent(Landroid/app/PendingIntent;)V

    .line 62
    return-void
.end method

.method public setOnLongPressPendingIntent(Landroid/app/PendingIntent;)V
    .locals 1
    .param p1, "pendingIntent"    # Landroid/app/PendingIntent;

    .prologue
    .line 57
    iget-object v0, p0, Lcom/android/server/gesture/GestureService;->mInputFilter:Lcom/android/server/gesture/GestureInputFilter;

    invoke-virtual {v0, p1}, Lcom/android/server/gesture/GestureInputFilter;->setOnLongPressPendingIntent(Landroid/app/PendingIntent;)V

    .line 58
    return-void
.end method

.method public systemReady()V
    .locals 2

    .prologue
    .line 52
    new-instance v0, Lcom/android/server/gesture/GestureInputFilter;

    iget-object v1, p0, Lcom/android/server/gesture/GestureService;->mContext:Landroid/content/Context;

    invoke-direct {v0, v1}, Lcom/android/server/gesture/GestureInputFilter;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lcom/android/server/gesture/GestureService;->mInputFilter:Lcom/android/server/gesture/GestureInputFilter;

    .line 53
    iget-object v0, p0, Lcom/android/server/gesture/GestureService;->mInputManager:Lcom/android/server/input/InputManagerService;

    iget-object v1, p0, Lcom/android/server/gesture/GestureService;->mInputFilter:Lcom/android/server/gesture/GestureInputFilter;

    invoke-virtual {v0, v1}, Lcom/android/server/input/InputManagerService;->registerSecondaryInputFilter(Landroid/view/IInputFilter;)V

    .line 54
    return-void
.end method


text:
<?php
namespace UDS\sirescaBundle\Service;

use UDS\sirescaBundle\Entity\Direccion;
use UDS\sirescaBundle\Entity\Municipio;
use UDS\sirescaBundle\Entity\Depto;
//use UDS\sirescaBundle\Entity\Persona;
//use UDS\sirescaBundle\Entity\Telefono;
use UDS\sirescaBundle\Entity\Areas;
use UDS\sirescaBundle\Entity\InstitucionInvolucrada;
use UDS\sirescaBundle\Entity\TipoInstitucion;

use UDS\sirescaBundle\Form\DireccionType;
use UDS\sirescaBundle\Form\MunicipioType;
use UDS\sirescaBundle\Form\DeptoType;
use UDS\sirescaBundle\Form\AreasType;
use UDS\sirescaBundle\Form\InstitucionInvolucradaType;
use UDS\sirescaBundle\Form\TipoInstitucionType2;

class InstitucionService{

   protected $em;
	protected $formFactory;
	protected $validator;
	protected $conn;

	protected $Institucion;
	protected $Tipoinstitucion;
	//protected $Depto;
	protected $Direccion;
	protected $Areas;

	protected $formIstitucion;
	protected $formTipoinstitucion;
	//protected $formDepto;
	protected $formDireccion;
	protected $formAreas;

	protected $formIstitucionView;
	protected $formTipoinstitucionView;
	//protected $formDeptoView;
	protected $formDireccionView;
   protected $formAreasView;

	//protected $depto;
	protected $error;

	public function __construct($entityManager, $formFactory,$validator,$conn/*,$depto*/) {
		$this->conn = $conn;
	 	$this->em = $entityManager;
		$this->formFactory=$formFactory;
		//$this->depto = $depto;

		$this->setInstitucion(new InstitucionInvolucrada());
		$this->setTipoinstitucion(new TipoInstitucion());
		$this->setDireccion(new Direccion());
		$this->setAreas(new Areas());

		$this->setFormInstitucion(new InstitucionInvolucradaType(), $this->getInstitucion());
		$this->setFormTipoinstitucion(new TipoInstitucionType2(), $this->getTipoinstitucion());
		$this->setFormDireccion(new DireccionType(), $this->getDireccion());
		$this->setFormAreas(new AreasType(), $this->getAreas());
		//$this->setFormDepto();
		$this->validator=$validator;
		$this->error=array();
	}

	public function setInstitucion($Institucion){
		$this->Institucion=$Institucion;
	}
	public function setTipoinstitucion($Tipoinstitucion){
		$this->Tipoinstitucion=$Tipoinstitucion;
	}
	public function setDireccion($Direccion){
		$this->Direccion=$Direccion;
	}
	public function setAreas($Areas){
		$this->Areas=$Areas;
	}
	public function getInstitucion(){
		return $this->Institucion;
	}
	public function getTipoinstitucion(){
		return $this->Tipoinstitucion;
	}
	public function getDireccion(){
		return $this->Direccion;
	}
	public function getAreas(){
		return $this->Areas;
	}

	/* Ahora haremos los setter y getter para los forms*/
	public function setFormInstitucion($InstitucionInvolucradaType,$Institucion){
		 $this->formInstitucion=$this->formFactory->create($InstitucionInvolucradaType,$Institucion);
	}
	public function setFormInstitucionView($formInstitucion){
		if($formInstitucion)
			 $this->formInstitucionView=$formInstitucion->createView();
		else
			 $this->formInstitucionView=$this->formInstitucion->createView();
	}
	public function setFormTipoinstitucion($TipoInstitucionType,$Tipoinstitucion){
		 $this->formTipoinstitucion=$this->formFactory->create($TipoInstitucionType,$Tipoinstitucion);
	}
	public function setFormTipoinstitucionView($formTipoinstitucion){
		if($formTipoinstitucion)
			 $this->formTipoinstitucionView=$formTipoinstitucion->createView();
		else
			 $this->formTipoinstitucionView=$this->formTipoinstitucion->createView();
	}
	public function setFormDireccion($DireccionType,$Direccion){
		 $this->formDireccion=$this->formFactory->create($DireccionType,$Direccion);
	}
	public function setFormDireccionView($formDireccion){
		if($formDireccion)
			 $this->formDireccionView=$formDireccion->createView();
		else
			 $this->formDireccionView=$this->formDireccion->createView();
	}
	public function setFormAreas($AreasType,$Areas){
		 $this->formAreas=$this->formFactory->create($AreasType,$Areas);
	}
	public function setFormAreasView($formAreas){
		if($formAreas)
			 $this->formAreasView=$formAreas->createView();
		else
			 $this->formAreasView=$this->formAreas->createView();
	}
	/*
	public function setFormDepto(){
		 $this->formDepto=$this->depto->getFormRegionDepto();
	}
	public function setFormDeptoView(){
		 $this->formDeptoView=$this->formDepto->createView();
	}*/

	public function getFormInstitucion(){
		return $this->formInstitucion;
	}
	public function getFormInstitucionView(){
		return $this->formInstitucionView;
	}
	public function getFormTipoinstitucion(){
		return $this->formTipoinstitucion;
	}
	public function getFormTipoinstitucionView(){
		return $this->formTipoinstitucionView;
	}
	public function getFormDireccion(){
		return $this->formDireccion;
	}
	public function getFormDireccionView(){
		return $this->formDireccionView;
	}
	public function getFormAreas(){
		return $this->formAreas;
	}
	public function getFormAreasView(){
		return $this->formAreasView;
	}/*
	public function getFormDepto(){
		return $this->formDepto;
	}
	public function getFormDeptoView(){
		return $this->formDeptoView;
	}*/
	public function getCreateInstitucionView(){
		$this->setCreateInstitucionView();
		return array(
           // 'institucion' 	   => $this->Institucion,
			//'tipo' => $this->Tipoinstitucion,
         'form_institucion' => $this->formInstitucionView,
			'form_tipo'	=> $this->formTipoinstitucionView,
			'form_direccion'	=> $this->formDireccionView,
			'form_areas'	=> $this->formAreasView,
			//'form_depto'=> $this->formDeptoView,
			'errors'    => $this->error
        );
	}

	public function setCreateInstitucionView(){
		$this->setFormInstitucionView($this->getFormInstitucion());
		$this->setFormTipoinstitucionView($this->getFormTipoinstitucion());
		$this->setFormDireccionView($this->getFormDireccion());
		$this->setFormAreasView($this->getFormAreas());
		//$this->setFormDeptoView($this->getFormDepto());

	}

	public function setRequestFormInstitucion($request){
	         $this->formInstitucion=$this->getFormInstitucion()->bindRequest($request);
	     	if ($this->formInstitucion->isValid()==false) {
	     		array_push($this->error,$this->validator->validate($this->formInstitucion));
	         }

	}
	public function setRequestFormTipoinstitucion($request){
	         $this->formTipoinstitucion=$this->formTipoinstitucion->bindRequest($request);
 	     	if ($this->formTipoinstitucion->isValid()==false) {
 	     		array_push($this->error,$this->validator->validate($this->formTipoinstitucion));
 	         }
	}
	public function setRequestFormDireccion($request){
	         $this->formDireccion=$this->formDireccion->bindRequest($request);
 	     	if ($this->formDireccion->isValid()==false) {
 	     		array_push($this->error,$this->validator->validate($this->formDireccion));
 	         }
	}
	public function setRequestFormAreas($request){
	        $this->formAreas=$this->formAreas->bindRequest($request);
	     	if ($this->formAreas->isValid()==false) {
	     		array_push($this->error,$this->validator->validate($this->formAreas));
	        }
	}/*
	public function setRequestFormDepto($request){
	        $this->formDepto=$this->formDepto->bindRequest($request);
	     	if ($this->formDepto->isValid()==false) {
	     		array_push($this->error,$this->validator->validate($this->formDepto));
	        }
	}*/
	public function setCreateInstitucionRequest($request){
		$this->setRequestFormInstitucion($request);
		$this->setRequestFormTipoinstitucion($request);
		$this->setRequestFormDireccion($request);
		$this->setRequestFormAreas($request);
		//$this->setRequestFormDepto($request);
	}
	public function getError(){
		return $this->error;
	}
	/*
	public function saveInstitucion(){
		$id=5;
        $sql ="select prm_insertpersona(";
        $sql .="'".$this->persona->getPerApellidos()."',";
        $sql .="'".$this->persona->getPerNombres()."',";
        $sql .="'".$this->persona->getPerGenero()."',";
        $sql .="'".$this->persona->getPerEmail()."',";
        $sql .=$this->mun->getId().",";
        $sql .="'".$this->direccion->getDirDomicilio()."',";
		$sql .="null,";
		$sql .="'{".$this->telefono->getTelefono().",".$this->movil->getTelefono()."}')";
        $this->conn->prepare($sql);
        $persona_ids = $this->conn->query($sql);
        $persona_id=$persona_ids->fetch();
        return $persona_id[0];
	}*/
}
?>


text:
import DCCard from './DCCard';

export default DCCard;


text:
use crate::{
    idhasher::BuildIdHasher,
    string::{self, IntoUtf8Bytes, StringId},
};
use indexmap::IndexMap;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use std::{
    collections::{HashMap, HashSet},
    fmt::{self, Formatter},
    str::FromStr,
};

// StringKey is a small impedence matcher around StringId.
// NOTE in particular that it does NOT do de-duplicating serde.
#[derive(Copy, Clone, Eq, PartialEq, Hash, Ord, PartialOrd)]
#[repr(transparent)]
pub struct StringKey(StringId);

pub type StringKeyMap<V> = HashMap<StringKey, V, BuildIdHasher<u32>>;
pub type StringKeySet = HashSet<StringKey, BuildIdHasher<u32>>;
pub type StringKeyIndexMap<V> = IndexMap<StringKey, V, BuildIdHasher<u32>>;

pub trait Intern: IntoUtf8Bytes {
    fn intern(self) -> StringKey {
        StringKey(string::intern(self))
    }
}

impl<T: IntoUtf8Bytes> Intern for T {}

impl StringKey {
    pub fn lookup(self) -> &'static str {
        self.0.as_str()
    }
}

impl fmt::Display for StringKey {
    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
        write!(f, "{}", self.lookup())
    }
}

impl fmt::Debug for StringKey {
    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
        write!(f, "{:?}", self.lookup())
    }
}

impl Serialize for StringKey {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        serializer.serialize_str(self.lookup())
    }
}

impl<'de> Deserialize<'de> for StringKey {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        Deserialize::deserialize(deserializer).map(|s: String| s.intern())
    }
}

impl FromStr for StringKey {
    type Err = std::convert::Infallible;

    fn from_str(s: &str) -> Result<Self, Self::Err> {
        Ok(s.intern())
    }
}

#[macro_export]
macro_rules! intern {
    ($value:literal) => {{
        use $crate::{string::Lazy, string_key::Intern};
        static INSTANCE: Lazy<$crate::string_key::StringKey> = Lazy::new(|| $value.intern());
        *INSTANCE
    }};
    ($_:expr) => {
        compile_error!("intern! macro can only be used with string literals.")
    };
}


text:
layout: ribbon

style: |

    #Cover h2 {
        margin:30px 0 0;
        color:#FFF;
        text-align:center;
        font-size:70px;
        }
    #Cover p {
        margin:250px 0 0;
        text-align:center;
        color:#FFF;
        font-style:italic;
        font-size:30px;
        }
        #Cover p a {
            color:#FFF;
            }
    #Picture h2 {
        color:#FFF;
        }
    #SeeMore h2 {
        font-size:100px
        }
    #SeeMore1 h2 {
        font-size:100px
        }
    #SeeMore2 h2 {
        font-size:100px
        }
    #SeeMore3 h2 {
        font-size:100px
        }
    #Akka img {
        width:25em;
        height:17em;
        }
    #Actor img {
        width:17em;
        height:17em;
        }
    #Pipeline img {
       width:30em;
       margin:-30px -10px 0 0;
       height:20em;
       }
    #AkkaSurvey img {
       width:30em;
       margin:-20px -10px 0 0;
       height:17em;
      }
---

# Testing Challenges in Big Data Applications {#Cover}

*[Rajesh Muppalla](http://www.github.com/codingnirvana/) - rajesh@indix.com*

## About Me

- Developer @ `Indix`
	- ...Part of Platform Team
	- ...Working on Distributed Systems & Big Data
- ...Ex-Thoughtworks
	- ...Worked on `Go` - A continuous delivery product

## About Indix

- Product Intelligence Platform
- ...Founded - Jan 2012
- ...45 Person team in Chennai & Seattle
- ...Data Company
- ...Some Stats
	- ...150 M Products
	- ...6 B Prices
	- ...3 TB data crawled daily

## Data Pipeline @ Indix {#Pipeline}

![](pictures/data-pipeline.png)

## **What is Big Data?** {#SeeMore1}

## 3Vs of Big Data

- Volume
	- ...Terabytes +
- ...Velocity
	- ...Real Time, Streaming
- ...Variety
	- ...Heterogeneous Sources
	- ...Unstructured Data

## Traditional Testing

- You Test For
	- ...Happy Path Scenarios
	- ...Failures
	- ...Fault Tolerance/Concurrency/Performance
- ...Practices
	- ...TDD
	- ...Continuous Integration
	- ...Mocks/Stubs

## What do you test for in Data?

- Accuracy
	- ...Capturing the real price
- ...Coverage
	- ...All products within a e-commerce store
- ...Consistency
	- ...Duplicate urls should be aggregated as one
- ...Completeness
	- ...All mandatory attributes of a product captured

## **Some Challenges** {#SeeMore2}

## URL Canonicalization

- Problem Statement
	- Normalize URLs
	- ...RFC 3986
- ...Unit Testing
- ...Gotchas
	- ...Sorting Query Params
	- ...Removing Double Slashes

## Product Tagger

- Problem Statement
- ...Unit Testing
- ...Integration Testing
- ...Gotchas
	- ...Server is Down/Under Maintenance
	- ...Sample page no longer available
	- ...Testing Output Data Semantics

## Product Matching Accuracy

- Problem Statement
- ...Unit Testing
- ...Gotchas
	- ...How to Verify Accuracy at Scale?
		- ...Complexity is same as implementation
		- ...Back to Square One

## Changing Algorithms and Data

- Problem Statement
	- ...Go back in time and re-process
- ...Gotchas
	- ...Too much volatility

## **Testing Techniques** {#SeeMore}

## Data Sampling

- Take random samples
- ...Do Manual verification
- ...Use Mechanical Turk To Scale
- ...Automate this process
- ...Guard against data bias

## Metrics, Monitoring & Alerting

- Metrics Funnel @ Indix
- ...Don''t monitor absolute counts
- ...Anomaly Detection & Correlation
	- ...Use Historical Stats
	- ...Remove outliers

## Tiered Data Quality

- Tier Your Data
	- ...Top E-commerce Sites
	- ...Top Categories
- ...For Top Tier Data
	- ...Larger sample validation
	- ...Lower alert thresholds

## In Summary

- Big Data Testing
	- ...is hard
	- ...gives great dividends
	- ...build on top of traditional testing techniques
	- ...needs good data understanding
- ...Very nascent field
	- ...ripe for thought leadership

## **Questions**

## **Thanks**

## Lambda Architecture

- ...All data is immutable
- ...Three Layers
	- ...Batch Layer
	- ...Serving Layer
	- ...Speed Layer

## Lambda Architecture

- ...Human Fault Tolerance
	- ...Embrace Human Errors
- ...Reduces Complexity
	- ...Rebuild everything on errors


text:
h1 {

}

@import "http://module/common/form.css";

h2 {

}

.content .button{
    display: inline-block;
    color:#fff;
    padding-left: 18px;
    background: url('module/common/images/btn_all.gif') no-repeat 0px ;
    padding-right:0;
}

h3 {

}

#fancybox-left, #fancybox-right {
    position: absolute;
    bottom: 0px;
    height: 100%;
    width: 35%;
    cursor: pointer;
    outline: none;
    background: transparent url('lib/fancybox/images/blank.gif');
    z-index: 10002;
    display: none;
}

.login_inputWrap{
    background: url('/img/text.jpg') no-repeat 0px 0px;
    display: inline-block;
}

.test {
    background-image: url('/img/text.jpg');
}

.test-absolute-path {
    background: url('http://test.com/test.jpg');

}

.test {
    background-image: url('data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7');
}

@font-face
{
    font-family: myFirstFont;
    src: url('module/module_a/Sansation_Light.ttf'),
    url('module/module_a/Sansation_Light.eot'); /* IE9+ */
}


text:
int tm_insert(time_t sec,
              suseconds_t usec,
              void (*function)(void* ptr, int alive),
              void* pointer);


text:
.class public final Landroid/hardware/input/InputManager;
.super Ljava/lang/Object;
.source "InputManager.java"

# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Landroid/hardware/input/InputManager$1;,
        Landroid/hardware/input/InputManager$InputDeviceVibrator;,
        Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;,
        Landroid/hardware/input/InputManager$InputDevicesChangedListener;,
        Landroid/hardware/input/InputManager$InputDeviceListener;
    }
.end annotation

# static fields
.field public static final ACTION_QUERY_KEYBOARD_LAYOUTS:Ljava/lang/String; = "android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS"

.field private static final DEBUG:Z = false

.field public static final DEFAULT_POINTER_SPEED:I = 0x0

.field public static final INJECT_INPUT_EVENT_MODE_ASYNC:I = 0x0

.field public static final INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I = 0x2

.field public static final INJECT_INPUT_EVENT_MODE_WAIT_FOR_RESULT:I = 0x1

.field public static final MAX_POINTER_SPEED:I = 0x7

.field public static final META_DATA_KEYBOARD_LAYOUTS:Ljava/lang/String; = "android.hardware.input.metadata.KEYBOARD_LAYOUTS"

.field public static final MIN_POINTER_SPEED:I = -0x7

.field private static final MSG_DEVICE_ADDED:I = 0x1

.field private static final MSG_DEVICE_CHANGED:I = 0x3

.field private static final MSG_DEVICE_REMOVED:I = 0x2

.field private static final TAG:Ljava/lang/String; = "InputManager"

.field private static sInstance:Landroid/hardware/input/InputManager;

# instance fields
.field private final mIm:Landroid/hardware/input/IInputManager;

.field private final mInputDeviceListeners:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList",
            "<",
            "Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;",
            ">;"
        }
    .end annotation
.end field

.field private mInputDevices:Landroid/util/SparseArray;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Landroid/util/SparseArray",
            "<",
            "Landroid/view/InputDevice;",
            ">;"
        }
    .end annotation
.end field

.field private mInputDevicesChangedListener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;

.field private final mInputDevicesLock:Ljava/lang/Object;

# direct methods
.method private constructor <init>(Landroid/hardware/input/IInputManager;)V
    .locals 1
    .parameter "im"

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

    .line 63
    new-instance v0, Ljava/lang/Object;

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

    iput-object v0, p0, Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;

    .line 66
    new-instance v0, Ljava/util/ArrayList;

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

    iput-object v0, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    .line 174
    iput-object p1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    .line 175
    return-void
.end method

.method static synthetic access$100(Landroid/hardware/input/InputManager;[I)V
    .locals 0
    .parameter "x0"
    .parameter "x1"

    .prologue
    .line 50
    invoke-direct {p0, p1}, Landroid/hardware/input/InputManager;->onInputDevicesChanged([I)V

    return-void
.end method

.method static synthetic access$200(Landroid/hardware/input/InputManager;)Landroid/hardware/input/IInputManager;
    .locals 1
    .parameter "x0"

    .prologue
    .line 50
    iget-object v0, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    return-object v0
.end method

.method private static containsDeviceId([II)Z
    .locals 2
    .parameter "deviceIdAndGeneration"
    .parameter "deviceId"

    .prologue
    .line 704
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    array-length v1, p0

    if-ge v0, v1, :cond_1

    .line 705
    aget v1, p0, v0

    if-ne v1, p1, :cond_0

    .line 706
    const/4 v1, 0x1

    .line 709
    :goto_1
    return v1

    .line 704
    :cond_0
    add-int/lit8 v0, v0, 0x2

    goto :goto_0

    .line 709
    :cond_1
    const/4 v1, 0x0

    goto :goto_1
.end method

.method private findInputDeviceListenerLocked(Landroid/hardware/input/InputManager$InputDeviceListener;)I
    .locals 3
    .parameter "listener"

    .prologue
    .line 319
    iget-object v2, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    invoke-virtual {v2}, Ljava/util/ArrayList;->size()I

    move-result v1

    .line 320
    .local v1, numListeners:I
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    if-ge v0, v1, :cond_1

    .line 321
    iget-object v2, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;

    iget-object v2, v2, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;->mListener:Landroid/hardware/input/InputManager$InputDeviceListener;

    if-ne v2, p1, :cond_0

    .line 325
    .end local v0           #i:I
    :goto_1
    return v0

    .line 320
    .restart local v0       #i:I
    :cond_0
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 325
    :cond_1
    const/4 v0, -0x1

    goto :goto_1
.end method

.method public static getInstance()Landroid/hardware/input/InputManager;
    .locals 4

    .prologue
    .line 185
    const-class v2, Landroid/hardware/input/InputManager;

    monitor-enter v2

    .line 186
    :try_start_0
    sget-object v1, Landroid/hardware/input/InputManager;->sInstance:Landroid/hardware/input/InputManager;

    if-nez v1, :cond_0

    .line 187
    const-string v1, "input"

    invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;

    move-result-object v0

    .line 188
    .local v0, b:Landroid/os/IBinder;
    new-instance v1, Landroid/hardware/input/InputManager;

    invoke-static {v0}, Landroid/hardware/input/IInputManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/input/IInputManager;

    move-result-object v3

    invoke-direct {v1, v3}, Landroid/hardware/input/InputManager;-><init>(Landroid/hardware/input/IInputManager;)V

    sput-object v1, Landroid/hardware/input/InputManager;->sInstance:Landroid/hardware/input/InputManager;

    .line 190
    :cond_0
    sget-object v1, Landroid/hardware/input/InputManager;->sInstance:Landroid/hardware/input/InputManager;

    monitor-exit v2

    return-object v1

    .line 191
    :catchall_0
    move-exception v1

    monitor-exit v2
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v1
.end method

.method private onInputDevicesChanged([I)V
    .locals 8
    .parameter "deviceIdAndGeneration"

    .prologue
    .line 657
    iget-object v6, p0, Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;

    monitor-enter v6

    .line 658
    :try_start_0
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5}, Landroid/util/SparseArray;->size()I

    move-result v3

    .local v3, i:I
    :cond_0
    :goto_0
    add-int/lit8 v3, v3, -0x1

    if-lez v3, :cond_1

    .line 659
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5, v3}, Landroid/util/SparseArray;->keyAt(I)I

    move-result v1

    .line 660
    .local v1, deviceId:I
    invoke-static {p1, v1}, Landroid/hardware/input/InputManager;->containsDeviceId([II)Z

    move-result v5

    if-nez v5, :cond_0

    .line 664
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5, v3}, Landroid/util/SparseArray;->removeAt(I)V

    .line 665
    const/4 v5, 0x2

    invoke-direct {p0, v5, v1}, Landroid/hardware/input/InputManager;->sendMessageToInputDeviceListenersLocked(II)V

    goto :goto_0

    .line 692
    .end local v1           #deviceId:I
    .end local v3           #i:I
    :catchall_0
    move-exception v5

    monitor-exit v6
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v5

    .line 669
    .restart local v3       #i:I
    :cond_1
    const/4 v3, 0x0

    :goto_1
    :try_start_1
    array-length v5, p1

    if-ge v3, v5, :cond_4

    .line 670
    aget v1, p1, v3

    .line 671
    .restart local v1       #deviceId:I
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5, v1}, Landroid/util/SparseArray;->indexOfKey(I)I

    move-result v4

    .line 672
    .local v4, index:I
    if-ltz v4, :cond_3

    .line 673
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5, v4}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/InputDevice;

    .line 674
    .local v0, device:Landroid/view/InputDevice;
    if-eqz v0, :cond_2

    .line 675
    add-int/lit8 v5, v3, 0x1

    aget v2, p1, v5

    .line 676
    .local v2, generation:I
    invoke-virtual {v0}, Landroid/view/InputDevice;->getGeneration()I

    move-result v5

    if-eq v5, v2, :cond_2

    .line 680
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    const/4 v7, 0x0

    invoke-virtual {v5, v4, v7}, Landroid/util/SparseArray;->setValueAt(ILjava/lang/Object;)V

    .line 681
    const/4 v5, 0x3

    invoke-direct {p0, v5, v1}, Landroid/hardware/input/InputManager;->sendMessageToInputDeviceListenersLocked(II)V

    .line 669
    .end local v0           #device:Landroid/view/InputDevice;
    .end local v2           #generation:I
    :cond_2
    :goto_2
    add-int/lit8 v3, v3, 0x2

    goto :goto_1

    .line 688
    :cond_3
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    const/4 v7, 0x0

    invoke-virtual {v5, v1, v7}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V

    .line 689
    const/4 v5, 0x1

    invoke-direct {p0, v5, v1}, Landroid/hardware/input/InputManager;->sendMessageToInputDeviceListenersLocked(II)V

    goto :goto_2

    .line 692
    .end local v1           #deviceId:I
    .end local v4           #index:I
    :cond_4
    monitor-exit v6
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    .line 693
    return-void
.end method

.method private populateInputDevicesLocked()V
    .locals 7

    .prologue
    const/4 v6, 0x0

    .line 626
    iget-object v4, p0, Landroid/hardware/input/InputManager;->mInputDevicesChangedListener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;

    if-nez v4, :cond_0

    .line 627
    new-instance v3, Landroid/hardware/input/InputManager$InputDevicesChangedListener;

    invoke-direct {v3, p0, v6}, Landroid/hardware/input/InputManager$InputDevicesChangedListener;-><init>(Landroid/hardware/input/InputManager;Landroid/hardware/input/InputManager$1;)V

    .line 629
    .local v3, listener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;
    :try_start_0
    iget-object v4, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v4, v3}, Landroid/hardware/input/IInputManager;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    .line 634
    iput-object v3, p0, Landroid/hardware/input/InputManager;->mInputDevicesChangedListener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;

    .line 637
    .end local v3           #listener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;
    :cond_0
    iget-object v4, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    if-nez v4, :cond_1

    .line 640
    :try_start_1
    iget-object v4, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v4}, Landroid/hardware/input/IInputManager;->getInputDeviceIds()[I
    :try_end_1
    .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_1} :catch_1

    move-result-object v2

    .line 645
    .local v2, ids:[I
    new-instance v4, Landroid/util/SparseArray;

    invoke-direct {v4}, Landroid/util/SparseArray;-><init>()V

    iput-object v4, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    .line 646
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    array-length v4, v2

    if-ge v1, v4, :cond_1

    .line 647
    iget-object v4, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    aget v5, v2, v1

    invoke-virtual {v4, v5, v6}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V

    .line 646
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 630
    .end local v1           #i:I
    .end local v2           #ids:[I
    .restart local v3       #listener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;
    :catch_0
    move-exception v0

    .line 631
    .local v0, ex:Landroid/os/RemoteException;
    new-instance v4, Ljava/lang/RuntimeException;

    const-string v5, "Could not get register input device changed listener"

    invoke-direct {v4, v5, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v4

    .line 641
    .end local v0           #ex:Landroid/os/RemoteException;
    .end local v3           #listener:Landroid/hardware/input/InputManager$InputDevicesChangedListener;
    :catch_1
    move-exception v0

    .line 642
    .restart local v0       #ex:Landroid/os/RemoteException;
    new-instance v4, Ljava/lang/RuntimeException;

    const-string v5, "Could not get input device ids."

    invoke-direct {v4, v5, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v4

    .line 650
    .end local v0           #ex:Landroid/os/RemoteException;
    :cond_1
    return-void
.end method

.method private sendMessageToInputDeviceListenersLocked(II)V
    .locals 4
    .parameter "what"
    .parameter "deviceId"

    .prologue
    .line 696
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    invoke-virtual {v3}, Ljava/util/ArrayList;->size()I

    move-result v2

    .line 697
    .local v2, numListeners:I
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    if-ge v0, v2, :cond_0

    .line 698
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;

    .line 699
    .local v1, listener:Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;
    const/4 v3, 0x0

    invoke-virtual {v1, p1, p2, v3}, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;->obtainMessage(III)Landroid/os/Message;

    move-result-object v3

    invoke-virtual {v1, v3}, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;->sendMessage(Landroid/os/Message;)Z

    .line 697
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 701
    .end local v1           #listener:Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;
    :cond_0
    return-void
.end method

# virtual methods
.method public addKeyboardLayoutForInputDevice(Ljava/lang/String;Ljava/lang/String;)V
    .locals 3
    .parameter "inputDeviceDescriptor"
    .parameter "keyboardLayoutDescriptor"

    .prologue
    .line 456
    if-nez p1, :cond_0

    .line 457
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "inputDeviceDescriptor must not be null"

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

    throw v1

    .line 459
    :cond_0
    if-nez p2, :cond_1

    .line 460
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "keyboardLayoutDescriptor must not be null"

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

    throw v1

    .line 464
    :cond_1
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1, p2}, Landroid/hardware/input/IInputManager;->addKeyboardLayoutForInputDevice(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    .line 468
    :goto_0
    return-void

    .line 465
    :catch_0
    move-exception v0

    .line 466
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not add keyboard layout for input device."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    goto :goto_0
.end method

.method public deviceHasKeys([I)[Z
    .locals 4
    .parameter "keyCodes"

    .prologue
    .line 578
    array-length v1, p1

    new-array v0, v1, [Z

    .line 580
    .local v0, ret:[Z
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    const/4 v2, -0x1

    const/16 v3, -0x100

    invoke-interface {v1, v2, v3, p1, v0}, Landroid/hardware/input/IInputManager;->hasKeys(II[I[Z)Z
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    .line 584
    :goto_0
    return-object v0

    .line 581
    :catch_0
    move-exception v1

    goto :goto_0
.end method

.method public getCurrentKeyboardLayoutForInputDevice(Ljava/lang/String;)Ljava/lang/String;
    .locals 3
    .parameter "inputDeviceDescriptor"

    .prologue
    .line 380
    if-nez p1, :cond_0

    .line 381
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "inputDeviceDescriptor must not be null"

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

    throw v1

    .line 385
    :cond_0
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1}, Landroid/hardware/input/IInputManager;->getCurrentKeyboardLayoutForInputDevice(Ljava/lang/String;)Ljava/lang/String;
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    .line 388
    :goto_0
    return-object v1

    .line 386
    :catch_0
    move-exception v0

    .line 387
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not get current keyboard layout for input device."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 388
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public getInputDevice(I)Landroid/view/InputDevice;
    .locals 6
    .parameter "id"

    .prologue
    .line 200
    iget-object v4, p0, Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;

    monitor-enter v4

    .line 201
    :try_start_0
    invoke-direct {p0}, Landroid/hardware/input/InputManager;->populateInputDevicesLocked()V

    .line 203
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v3, p1}, Landroid/util/SparseArray;->indexOfKey(I)I

    move-result v1

    .line 204
    .local v1, index:I
    if-gez v1, :cond_0

    .line 205
    const/4 v2, 0x0

    monitor-exit v4

    .line 217
    :goto_0
    return-object v2

    .line 208
    :cond_0
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v3, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/view/InputDevice;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 209
    .local v2, inputDevice:Landroid/view/InputDevice;
    if-nez v2, :cond_1

    .line 211
    :try_start_1
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v3, p1}, Landroid/hardware/input/IInputManager;->getInputDevice(I)Landroid/view/InputDevice;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0
    .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_1} :catch_0

    move-result-object v2

    .line 216
    :cond_1
    :try_start_2
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v3, v1, v2}, Landroid/util/SparseArray;->setValueAt(ILjava/lang/Object;)V

    .line 217
    monitor-exit v4

    goto :goto_0

    .line 218
    .end local v1           #index:I
    .end local v2           #inputDevice:Landroid/view/InputDevice;
    :catchall_0
    move-exception v3

    monitor-exit v4
    :try_end_2
    .catchall {:try_start_2 .. :try_end_2} :catchall_0

    throw v3

    .line 212
    .restart local v1       #index:I
    .restart local v2       #inputDevice:Landroid/view/InputDevice;
    :catch_0
    move-exception v0

    .line 213
    .local v0, ex:Landroid/os/RemoteException;
    :try_start_3
    new-instance v3, Ljava/lang/RuntimeException;

    const-string v5, "Could not get input device information."

    invoke-direct {v3, v5, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v3
    :try_end_3
    .catchall {:try_start_3 .. :try_end_3} :catchall_0
.end method

.method public getInputDeviceByDescriptor(Ljava/lang/String;)Landroid/view/InputDevice;
    .locals 7
    .parameter "descriptor"

    .prologue
    .line 228
    if-nez p1, :cond_0

    .line 229
    new-instance v5, Ljava/lang/IllegalArgumentException;

    const-string v6, "descriptor must not be null."

    invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v5

    .line 232
    :cond_0
    iget-object v6, p0, Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;

    monitor-enter v6

    .line 233
    :try_start_0
    invoke-direct {p0}, Landroid/hardware/input/InputManager;->populateInputDevicesLocked()V

    .line 235
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5}, Landroid/util/SparseArray;->size()I

    move-result v4

    .line 236
    .local v4, numDevices:I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-ge v1, v4, :cond_3

    .line 237
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5, v1}, Landroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Landroid/view/InputDevice;

    .line 238
    .local v3, inputDevice:Landroid/view/InputDevice;
    if-nez v3, :cond_1

    .line 239
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5, v1}, Landroid/util/SparseArray;->keyAt(I)I
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    move-result v2

    .line 241
    .local v2, id:I
    :try_start_1
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v5, v2}, Landroid/hardware/input/IInputManager;->getInputDevice(I)Landroid/view/InputDevice;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0
    .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_1} :catch_0

    move-result-object v3

    .line 246
    :try_start_2
    iget-object v5, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v5, v1, v3}, Landroid/util/SparseArray;->setValueAt(ILjava/lang/Object;)V

    .line 248
    .end local v2           #id:I
    :cond_1
    invoke-virtual {v3}, Landroid/view/InputDevice;->getDescriptor()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v5

    if-eqz v5, :cond_2

    .line 249
    monitor-exit v6

    .line 252
    .end local v3           #inputDevice:Landroid/view/InputDevice;
    :goto_1
    return-object v3

    .line 242
    .restart local v2       #id:I
    .restart local v3       #inputDevice:Landroid/view/InputDevice;
    :catch_0
    move-exception v0

    .line 236
    .end local v2           #id:I
    :cond_2
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 252
    .end local v3           #inputDevice:Landroid/view/InputDevice;
    :cond_3
    const/4 v3, 0x0

    monitor-exit v6

    goto :goto_1

    .line 253
    .end local v1           #i:I
    .end local v4           #numDevices:I
    :catchall_0
    move-exception v5

    monitor-exit v6
    :try_end_2
    .catchall {:try_start_2 .. :try_end_2} :catchall_0

    throw v5
.end method

.method public getInputDeviceIds()[I
    .locals 5

    .prologue
    .line 261
    iget-object v4, p0, Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;

    monitor-enter v4

    .line 262
    :try_start_0
    invoke-direct {p0}, Landroid/hardware/input/InputManager;->populateInputDevicesLocked()V

    .line 264
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v3}, Landroid/util/SparseArray;->size()I

    move-result v0

    .line 265
    .local v0, count:I
    new-array v2, v0, [I

    .line 266
    .local v2, ids:[I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-ge v1, v0, :cond_0

    .line 267
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDevices:Landroid/util/SparseArray;

    invoke-virtual {v3, v1}, Landroid/util/SparseArray;->keyAt(I)I

    move-result v3

    aput v3, v2, v1

    .line 266
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 269
    :cond_0
    monitor-exit v4

    return-object v2

    .line 270
    .end local v0           #count:I
    .end local v1           #i:I
    .end local v2           #ids:[I
    :catchall_0
    move-exception v3

    monitor-exit v4
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v3
.end method

.method public getInputDeviceVibrator(I)Landroid/os/Vibrator;
    .locals 1
    .parameter "deviceId"

    .prologue
    .line 718
    new-instance v0, Landroid/hardware/input/InputManager$InputDeviceVibrator;

    invoke-direct {v0, p0, p1}, Landroid/hardware/input/InputManager$InputDeviceVibrator;-><init>(Landroid/hardware/input/InputManager;I)V

    return-object v0
.end method

.method public getKeyboardLayout(Ljava/lang/String;)Landroid/hardware/input/KeyboardLayout;
    .locals 3
    .parameter "keyboardLayoutDescriptor"

    .prologue
    .line 359
    if-nez p1, :cond_0

    .line 360
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "keyboardLayoutDescriptor must not be null"

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

    throw v1

    .line 364
    :cond_0
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1}, Landroid/hardware/input/IInputManager;->getKeyboardLayout(Ljava/lang/String;)Landroid/hardware/input/KeyboardLayout;
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    .line 367
    :goto_0
    return-object v1

    .line 365
    :catch_0
    move-exception v0

    .line 366
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not get keyboard layout information."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 367
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public getKeyboardLayouts()[Landroid/hardware/input/KeyboardLayout;
    .locals 3

    .prologue
    .line 342
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1}, Landroid/hardware/input/IInputManager;->getKeyboardLayouts()[Landroid/hardware/input/KeyboardLayout;
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    .line 345
    :goto_0
    return-object v1

    .line 343
    :catch_0
    move-exception v0

    .line 344
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not get list of keyboard layout informations."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 345
    const/4 v1, 0x0

    new-array v1, v1, [Landroid/hardware/input/KeyboardLayout;

    goto :goto_0
.end method

.method public getKeyboardLayoutsForInputDevice(Ljava/lang/String;)[Ljava/lang/String;
    .locals 3
    .parameter "inputDeviceDescriptor"

    .prologue
    .line 430
    if-nez p1, :cond_0

    .line 431
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "inputDeviceDescriptor must not be null"

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

    throw v1

    .line 435
    :cond_0
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1}, Landroid/hardware/input/IInputManager;->getKeyboardLayoutsForInputDevice(Ljava/lang/String;)[Ljava/lang/String;
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v1

    .line 438
    :goto_0
    return-object v1

    .line 436
    :catch_0
    move-exception v0

    .line 437
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not get keyboard layouts for input device."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 438
    const-class v1, Ljava/lang/String;

    invoke-static {v1}, Lcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [Ljava/lang/String;

    goto :goto_0
.end method

.method public getPointerSpeed(Landroid/content/Context;)I
    .locals 3
    .parameter "context"

    .prologue
    .line 512
    const/4 v0, 0x0

    .line 514
    .local v0, speed:I
    :try_start_0
    invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v1

    const-string/jumbo v2, "pointer_speed"

    invoke-static {v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
    :try_end_0
    .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_0 .. :try_end_0} :catch_0

    move-result v0

    .line 518
    :goto_0
    return v0

    .line 516
    :catch_0
    move-exception v1

    goto :goto_0
.end method

.method public injectInputEvent(Landroid/view/InputEvent;I)Z
    .locals 3
    .parameter "event"
    .parameter "mode"

    .prologue
    .line 609
    if-nez p1, :cond_0

    .line 610
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "event must not be null"

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

    throw v1

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

    const/4 v1, 0x2

    if-eq p2, v1, :cond_1

    const/4 v1, 0x1

    if-eq p2, v1, :cond_1

    .line 615
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string/jumbo v2, "mode is invalid"

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

    throw v1

    .line 619
    :cond_1
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1, p2}, Landroid/hardware/input/IInputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    move-result v1

    .line 621
    :goto_0
    return v1

    .line 620
    :catch_0
    move-exception v0

    .line 621
    .local v0, ex:Landroid/os/RemoteException;
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V
    .locals 4
    .parameter "listener"
    .parameter "handler"

    .prologue
    .line 284
    if-nez p1, :cond_0

    .line 285
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "listener must not be null"

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

    throw v1

    .line 288
    :cond_0
    iget-object v2, p0, Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;

    monitor-enter v2

    .line 289
    :try_start_0
    invoke-direct {p0, p1}, Landroid/hardware/input/InputManager;->findInputDeviceListenerLocked(Landroid/hardware/input/InputManager$InputDeviceListener;)I

    move-result v0

    .line 290
    .local v0, index:I
    if-gez v0, :cond_1

    .line 291
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    new-instance v3, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;

    invoke-direct {v3, p1, p2}, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;-><init>(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V

    invoke-virtual {v1, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 293
    :cond_1
    monitor-exit v2

    .line 294
    return-void

    .line 293
    .end local v0           #index:I
    :catchall_0
    move-exception v1

    monitor-exit v2
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v1
.end method

.method public removeKeyboardLayoutForInputDevice(Ljava/lang/String;Ljava/lang/String;)V
    .locals 3
    .parameter "inputDeviceDescriptor"
    .parameter "keyboardLayoutDescriptor"

    .prologue
    .line 484
    if-nez p1, :cond_0

    .line 485
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "inputDeviceDescriptor must not be null"

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

    throw v1

    .line 487
    :cond_0
    if-nez p2, :cond_1

    .line 488
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "keyboardLayoutDescriptor must not be null"

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

    throw v1

    .line 492
    :cond_1
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1, p2}, Landroid/hardware/input/IInputManager;->removeKeyboardLayoutForInputDevice(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    .line 496
    :goto_0
    return-void

    .line 493
    :catch_0
    move-exception v0

    .line 494
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not remove keyboard layout for input device."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    goto :goto_0
.end method

.method public setCurrentKeyboardLayoutForInputDevice(Ljava/lang/String;Ljava/lang/String;)V
    .locals 3
    .parameter "inputDeviceDescriptor"
    .parameter "keyboardLayoutDescriptor"

    .prologue
    .line 406
    if-nez p1, :cond_0

    .line 407
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "inputDeviceDescriptor must not be null"

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

    throw v1

    .line 409
    :cond_0
    if-nez p2, :cond_1

    .line 410
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string v2, "keyboardLayoutDescriptor must not be null"

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

    throw v1

    .line 414
    :cond_1
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1, p2}, Landroid/hardware/input/IInputManager;->setCurrentKeyboardLayoutForInputDevice(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    .line 419
    :goto_0
    return-void

    .line 416
    :catch_0
    move-exception v0

    .line 417
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not set current keyboard layout for input device."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    goto :goto_0
.end method

.method public setPointerSpeed(Landroid/content/Context;I)V
    .locals 2
    .parameter "context"
    .parameter "speed"

    .prologue
    .line 534
    const/4 v0, -0x7

    if-lt p2, v0, :cond_0

    const/4 v0, 0x7

    if-le p2, v0, :cond_1

    .line 535
    :cond_0
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string/jumbo v1, "speed out of range"

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

    throw v0

    .line 538
    :cond_1
    invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    const-string/jumbo v1, "pointer_speed"

    invoke-static {v0, v1, p2}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z

    .line 540
    return-void
.end method

.method public tryPointerSpeed(I)V
    .locals 3
    .parameter "speed"

    .prologue
    .line 554
    const/4 v1, -0x7

    if-lt p1, v1, :cond_0

    const/4 v1, 0x7

    if-le p1, v1, :cond_1

    .line 555
    :cond_0
    new-instance v1, Ljava/lang/IllegalArgumentException;

    const-string/jumbo v2, "speed out of range"

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

    throw v1

    .line 559
    :cond_1
    :try_start_0
    iget-object v1, p0, Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;

    invoke-interface {v1, p1}, Landroid/hardware/input/IInputManager;->tryPointerSpeed(I)V
    :try_end_0
    .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

    .line 563
    :goto_0
    return-void

    .line 560
    :catch_0
    move-exception v0

    .line 561
    .local v0, ex:Landroid/os/RemoteException;
    const-string v1, "InputManager"

    const-string v2, "Could not set temporary pointer speed."

    invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    goto :goto_0
.end method

.method public unregisterInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;)V
    .locals 4
    .parameter "listener"

    .prologue
    .line 304
    if-nez p1, :cond_0

    .line 305
    new-instance v2, Ljava/lang/IllegalArgumentException;

    const-string v3, "listener must not be null"

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

    throw v2

    .line 308
    :cond_0
    iget-object v3, p0, Landroid/hardware/input/InputManager;->mInputDevicesLock:Ljava/lang/Object;

    monitor-enter v3

    .line 309
    :try_start_0
    invoke-direct {p0, p1}, Landroid/hardware/input/InputManager;->findInputDeviceListenerLocked(Landroid/hardware/input/InputManager$InputDeviceListener;)I

    move-result v1

    .line 310
    .local v1, index:I
    if-ltz v1, :cond_1

    .line 311
    iget-object v2, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;

    .line 312
    .local v0, d:Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;
    const/4 v2, 0x0

    invoke-virtual {v0, v2}, Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    .line 313
    iget-object v2, p0, Landroid/hardware/input/InputManager;->mInputDeviceListeners:Ljava/util/ArrayList;

    invoke-virtual {v2, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;

    .line 315
    .end local v0           #d:Landroid/hardware/input/InputManager$InputDeviceListenerDelegate;
    :cond_1
    monitor-exit v3

    .line 316
    return-void

    .line 315
    .end local v1           #index:I
    :catchall_0
    move-exception v2

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

    throw v2
.end method


text:
package com.kodedu.service.convert.slide;

import com.kodedu.component.SlidePane;
import com.kodedu.controller.ApplicationController;
import com.kodedu.other.Current;
import com.kodedu.service.DirectoryService;
import com.kodedu.service.ThreadService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Objects;
import java.util.function.Consumer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by usta on 09.04.2015.
 */
@Component
public class SlideConverter {

    private final ApplicationController controller;
    private final ThreadService threadService;
    private final Current current;
    private final SlidePane slidePane;
    private final Pattern pattern = Pattern.compile(":slide-type:.*(deckjs|revealjs)", Pattern.MULTILINE);
    private String rendered;

    @Value("${application.slide.url}")
    private String slideUrl;
    private final DirectoryService directoryService;

    @Autowired
    public SlideConverter(final ApplicationController controller, final ThreadService threadService, final Current current, SlidePane slidePane, DirectoryService directoryService) {
        this.controller = controller;
        this.threadService = threadService;
        this.current = current;
        this.slidePane = slidePane;
        this.directoryService = directoryService;
    }

    public String currentType() {
        String input = current.currentEditorValue();
        Matcher matcher = pattern.matcher(input);

        String slideType = "revealjs";

        if (matcher.find()) {
            slideType = matcher.group(1);
        }
        return slideType;
    }

    public void convert(String rendered, Consumer<String>... nextStep) {
        threadService.runActionLater(() -> {

            this.rendered = rendered;

            String defaultUrl = slidePane.getSlideUrl();
            String currentSlideUrl = slidePane.getLocation();

            if (controller.rightShowerHider.getShowing().orElse(null) != slidePane ||
                    currentSlideUrl == null ||
                    !currentSlideUrl.contains("slide.html")) {
                slidePane.load(defaultUrl);
            } else {
                slidePane.load(currentSlideUrl);
            }

            for (Consumer<String> step : nextStep) {
                step.accept(rendered);
            }
        });
    }

    public String getRendered() {
        return rendered;
    }
}


text:
<?php

include 'init.php';

$Database = new Database();
$BTCe = new BTCe();
$result = $BTCe->getCurrencies();

foreach ($result as $currency) {

	$sql = "SELECT * FROM currencies WHERE code = '{$currency['code']}'";
	$data = $Database->query_first($sql);

	if (!$data) {
		$Database->query_insert('currencies', array('code' => $currency['code'], 'fullname' => $currency['name']));
	} else {
		$Database->query_insert('currencies_values', array('id_code' => $data['id'], 'price' => $currency['value']));
	}

}

?>


text:
<?xml version="1.0" encoding="UTF-8"?>
<Tokens version="1.0">
	<File path="Classes/AWSCloudWatchDeleteAlarmsInput.html">

		<Token>
			<TokenIdentifier>//apple_ref/occ/cl/AWSCloudWatchDeleteAlarmsInput</TokenIdentifier>
			<Abstract type="html"></Abstract>
			<DeclaredIn>AWSCloudWatchModel.h</DeclaredIn>

			<NodeRef refid="92"/>
		</Token>

		<Token>
			<TokenIdentifier>//apple_ref/occ/instm/AWSCloudWatchDeleteAlarmsInput/setAlarmNames:</TokenIdentifier>
			<Abstract type="html"><p> A list of alarms to be deleted. </p></Abstract>
			<DeclaredIn>AWSCloudWatchModel.h</DeclaredIn>

			<Declaration>@property (nonatomic, strong) NSArray<NSString*> *alarmNames</Declaration>

			<Anchor>//api/name/alarmNames</Anchor>
            <NodeRef refid="92"/>
		</Token>

		<Token>
			<TokenIdentifier>//apple_ref/occ/instm/AWSCloudWatchDeleteAlarmsInput/alarmNames</TokenIdentifier>
			<Abstract type="html"><p> A list of alarms to be deleted. </p></Abstract>
			<DeclaredIn>AWSCloudWatchModel.h</DeclaredIn>

			<Declaration>@property (nonatomic, strong) NSArray<NSString*> *alarmNames</Declaration>

			<Anchor>//api/name/alarmNames</Anchor>
            <NodeRef refid="92"/>
		</Token>

		<Token>
			<TokenIdentifier>//apple_ref/occ/instp/AWSCloudWatchDeleteAlarmsInput/alarmNames</TokenIdentifier>
			<Abstract type="html"><p> A list of alarms to be deleted. </p></Abstract>
			<DeclaredIn>AWSCloudWatchModel.h</DeclaredIn>

			<Declaration>@property (nonatomic, strong) NSArray<NSString*> *alarmNames</Declaration>

			<Anchor>//api/name/alarmNames</Anchor>
            <NodeRef refid="92"/>
		</Token>

	</File>
</Tokens>


text: (a timesheet-system)


text:
% Example from l1 Trend Filtering
%
%  l1_trend_filter_snp500.m - l1 trend filtering
%  snp500.txt               - (no title)
help Contents


text:
package io.skysail.server.designer.demo.transactions.transaction;

import java.io.Serializable;
import javax.persistence.Id;

import com.fasterxml.jackson.annotation.*;

import java.util.*;
import io.skysail.server.db.DbClassName;

import io.skysail.domain.html.*;
import io.skysail.server.forms.*;

import io.skysail.server.designer.demo.transactions.transaction.*;
import io.skysail.server.designer.demo.transactions.transaction.resources.*;

import org.apache.commons.lang3.StringUtils;

/**
 * generated from javafile.stg
 */
@SuppressWarnings("serial")
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="id")
public class Transaction implements Identifiable, Serializable {

    @Id
    private String id;

    @Override
    public String getId() {
        return id;
    }

    @Override
    public void setId(String id) {
        this.id = id;
    }

    // --- fields ---

    @Field(inputType = InputType.DATE, htmlPolicy = HtmlPolicy.NO_HTML)
    private Date transactionDate;

    public void setTransactionDate(Date value) {
        this.transactionDate = value;
    }

    public Date getTransactionDate() {
        return this.transactionDate;
    }

    @Field(inputType = InputType.TEXT, htmlPolicy = HtmlPolicy.NO_HTML)
    private String description;

    public void setDescription(String value) {
        this.description = value;
    }

    public String getDescription() {
        return this.description;
    }

    @Field(inputType = InputType.TEXT, htmlPolicy = HtmlPolicy.NO_HTML)
    private String amount;

    public void setAmount(String value) {
        this.amount = value;
    }

    public String getAmount() {
        return this.amount;
    }

    // --- relations ---

}


text:
@TemplateRegistration(folder = "Other", content = "ConfTemplate.conf")
package com.qualixium.playnb.filetype.conf;

import org.netbeans.api.templates.TemplateRegistration;