text:
<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Voting Sites</title>

    <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

    <link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">

    <link href="css/grayscale.min.css" rel="stylesheet">

                        Register

                        Crash Course

                        Voting Sites

WHERE CAN YOU VOTE?

Enter your full residential address.

                        <form action="google.com">

  <input type="text" name="address" value="" style="color: blue" size="50">

  <input type="submit" value="Submit" style="background-color: blue">
</form>


text:
@implementation AESequencerChannelSequence {
    NSMutableArray *sequence;
    BEAT* _sequenceCRepresentation;
}

- (void)addBeat:(AESequencerBeat *)beat {

    if (!beat) return;

    if (!sequence) {
        sequence = [NSMutableArray array];
    }

    [sequence addObject:beat];

    [sequence sortUsingComparator:^NSComparisonResult(AESequencerBeat *beat1, AESequencerBeat *beat2) {
        return beat1.onset > beat2.onset;
    }];

    [self updateSequenceCRepresentation];
}

- (void)removeBeatAtOnset:(float)onset {
    for (int i = 0; i < sequence.count; i++) {
        AESequencerBeat *beat = sequence[i];
        if (beat.onset == onset) {
            [sequence removeObject:beat];
        }
    }

    [self updateSequenceCRepresentation];
}

- (void)setOnsetOfBeatAtOnset:(float)oldOnset to:(float)newOnset {
    AESequencerBeat *beat = [self beatAtOnset:oldOnset];
    beat.onset = newOnset;
}

- (void)setVelocityOfBeatAtOnset:(float)onset to:(float)newVelocity {
    AESequencerBeat *beat = [self beatAtOnset:onset];
    beat.velocity = newVelocity;
}

- (AESequencerBeat *)beatAtOnset:(float)onset {

    for (AESequencerBeat *beat in sequence) {
        if (beat.onset == onset) {
            return beat;
        }
    }
    return nil;
}

- (NSArray *)allBeats {
    return [NSArray arrayWithArray:sequence];
}

- (NSUInteger)count {
    return sequence.count;
}

#pragma mark -
#pragma mark C Representation

- (void)updateSequenceCRepresentation {
    NSUInteger numberOfBeats = sequence.count;

    _sequenceCRepresentation = (BEAT *)malloc(sizeof(BEAT) * numberOfBeats);

    for(int i=0; i < numberOfBeats; i++) {

        AESequencerBeat *beat = sequence[i];

        BEAT cBeat;
        cBeat.onset = beat.onset;
        cBeat.velocity = beat.velocity;

        _sequenceCRepresentation[i] = cBeat;

    }
}

- (BEAT *)sequenceCRepresentation {
    return _sequenceCRepresentation;
}

#pragma mark -
#pragma mark Description

- (NSString *)description {
    NSMutableString *description = @"Sequence Description:\n".mutableCopy;

    for (AESequencerBeat *beat in sequence) {
        [description appendFormat:@"%@\n", beat.description];
    }
    return description;
}

@end

redpajama_set_name: RedPajamaGithub


text:
from smqtk.utils import SmqtkObject
from smqtk.utils import Configurable, plugin

__all__ = [
    'SmqtkAlgorithm',
    'Classifier', 'SupervisedClassifier', 'get_classifier_impls',
    'DescriptorGenerator', 'get_descriptor_generator_impls',
    'NearestNeighborsIndex', 'get_nn_index_impls',
    'HashIndex', 'get_hash_index_impls',
    'LshFunctor', 'get_lsh_functor_impls',
    'RelevancyIndex', 'get_relevancy_index_impls',
]

class SmqtkAlgorithm (SmqtkObject, Configurable, plugin.Pluggable):
    """
    Parent class for all algorithm interfaces.
    """

    @property
    def name(self):
        """
        :return: The name of this class type.
        :rtype: str
        """
        return self.__class__.__name__

# Import module abstracts and plugin getter functions
from .classifier import Classifier, SupervisedClassifier, get_classifier_impls
from .descriptor_generator import DescriptorGenerator, get_descriptor_generator_impls
from .nn_index import NearestNeighborsIndex, get_nn_index_impls
from .nn_index.hash_index import HashIndex, get_hash_index_impls
from .nn_index.lsh.functors import LshFunctor, get_lsh_functor_impls
from .relevancy_index import RelevancyIndex, get_relevancy_index_impls


text:
package apkparser

// grep 'public static final int [a-zA-Z_]*=0x0101' R.java
func getAttributteName(id uint32) string {
	switch id {
	case 0x0101006a:
		return "absListViewStyle"
	case 0x01010380:
		return "accessibilityEventTypes"
	case 0x01010382:
		return "accessibilityFeedbackType"
	case 0x01010384:
		return "accessibilityFlags"
	case 0x010103ee:
		return "accessibilityLiveRegion"
	case 0x010104d2:
		return "accessibilityTraversalAfter"
	case 0x010104d1:
		return "accessibilityTraversalBefore"
	case 0x0101029f:
		return "accountPreferences"
	case 0x0101028f:
		return "accountType"
	case 0x0101002d:
		return "action"
	case 0x0101039b:
		return "actionBarDivider"
	case 0x0101039c:
		return "actionBarItemBackground"
	case 0x0101048d:
		return "actionBarPopupTheme"
	case 0x010102eb:
		return "actionBarSize"
	case 0x01010388:
		return "actionBarSplitStyle"
	case 0x010102ce:
		return "actionBarStyle"
	case 0x010102f4:
		return "actionBarTabBarStyle"
	case 0x010102f3:
		return "actionBarTabStyle"
	case 0x010102f5:
		return "actionBarTabTextStyle"
	case 0x01010431:
		return "actionBarTheme"
	case 0x01010397:
		return "actionBarWidgetTheme"
	case 0x010102d8:
		return "actionButtonStyle"
	case 0x010102d7:
		return "actionDropDownStyle"
	case 0x010102fb:
		return "actionLayout"
	case 0x01010360:
		return "actionMenuTextAppearance"
	case 0x01010361:
		return "actionMenuTextColor"
	case 0x010102db:
		return "actionModeBackground"
	case 0x010102f7:
		return "actionModeCloseButtonStyle"
	case 0x010102dc:
		return "actionModeCloseDrawable"
	case 0x01010312:
		return "actionModeCopyDrawable"
	case 0x01010311:
		return "actionModeCutDrawable"
	case 0x0101047a:
		return "actionModeFindDrawable"
	case 0x01010313:
		return "actionModePasteDrawable"
	case 0x0101037e:
		return "actionModeSelectAllDrawable"
	case 0x01010479:
		return "actionModeShareDrawable"
	case 0x0101039d:
		return "actionModeSplitBackground"
	case 0x01010394:
		return "actionModeStyle"
	case 0x0101047b:
		return "actionModeWebSearchDrawable"
	case 0x010102f6:
		return "actionOverflowButtonStyle"
	case 0x01010444:
		return "actionOverflowMenuStyle"
	case 0x01010389:
		return "actionProviderClass"
	case 0x010102fc:
		return "actionViewClass"
	case 0x010102fd:
		return "activatedBackgroundIndicator"
	case 0x010100ba:
		return "activityCloseEnterAnimation"
	case 0x010100bb:
		return "activityCloseExitAnimation"
	case 0x010100b8:
		return "activityOpenEnterAnimation"
	case 0x010100b9:
		return "activityOpenExitAnimation"
	case 0x010103e6:
		return "addPrintersActivity"
	case 0x010100f0:
		return "addStatesFromChildren"
	case 0x0101011e:
		return "adjustViewBounds"
	case 0x010103f1:
		return "advancedPrintOptionsActivity"
	case 0x01010355:
		return "alertDialogIcon"
	case 0x0101005d:
		return "alertDialogStyle"
	case 0x01010309:
		return "alertDialogTheme"
	case 0x0101037a:
		return "alignmentMode"
	case 0x010102cc:
		return "allContactsName"
	case 0x01010280:
		return "allowBackup"
	case 0x01010005:
		return "allowClearUserData"
	case 0x010103f5:
		return "allowEmbedded"
	case 0x01010332:
		return "allowParallelSyncs"
	case 0x01010259:
		return "allowSingleTap"
	case 0x01010204:
		return "allowTaskReparenting"
	case 0x010104df:
		return "allowUndo"
	case 0x0101031f:
		return "alpha"
	case 0x010101e3:
		return "alphabeticShortcut"
	case 0x010100ef:
		return "alwaysDrawnWithCache"
	case 0x01010203:
		return "alwaysRetainTaskState"
	case 0x010104a5:
		return "amPmBackgroundColor"
	case 0x010104a4:
		return "amPmTextColor"
	case 0x010104be:
		return "ambientShadowAlpha"
	case 0x010101a0:
		return "angle"
	case 0x010102d5:
		return "animateFirstView"
	case 0x010102f2:
		return "animateLayoutChanges"
	case 0x0101025c:
		return "animateOnClick"
	case 0x010101cd:
		return "animation"
	case 0x010100ed:
		return "animationCache"
	case 0x01010112:
		return "animationDuration"
	case 0x010101ce:
		return "animationOrder"
	case 0x0101031a:
		return "animationResolution"
	case 0x0101011a:
		return "antialias"
	case 0x0101026c:
		return "anyDensity"
	case 0x010103ed:
		return "apduServiceBanner"
	case 0x01010211:
		return "apiKey"
	case 0x010102b4:
		return "author"
	case 0x01010018:
		return "authorities"
	case 0x0101030f:
		return "autoAdvanceViewId"
	case 0x0101006b:
		return "autoCompleteTextViewStyle"
	case 0x010100b0:
		return "autoLink"
	case 0x010103ea:
		return "autoMirrored"
	case 0x01010447:
		return "autoRemoveFromRecents"
	case 0x010102b5:
		return "autoStart"
	case 0x0101016a:
		return "autoText"
	case 0x0101028c:
		return "autoUrlDetect"
	case 0x010104ee:
		return "autoVerify"
	case 0x010100d4:
		return "background"
	case 0x01010032:
		return "backgroundDimAmount"
	case 0x0101021f:
		return "backgroundDimEnabled"
	case 0x0101038b:
		return "backgroundSplit"
	case 0x0101038a:
		return "backgroundStacked"
	case 0x0101046b:
		return "backgroundTint"
	case 0x0101046c:
		return "backgroundTintMode"
	case 0x0101027f:
		return "backupAgent"
	case 0x010103f2:
		return "banner"
	case 0x0101031c:
		return "baseline"
	case 0x01010122:
		return "baselineAlignBottom"
	case 0x01010126:
		return "baselineAligned"
	case 0x01010127:
		return "baselineAlignedChildIndex"
	case 0x0101032b:
		return "borderlessButtonStyle"
	case 0x010101b0:
		return "bottom"
	case 0x010100cd:
		return "bottomBright"
	case 0x010100c9:
		return "bottomDark"
	case 0x010101ab:
		return "bottomLeftRadius"
	case 0x010100ce:
		return "bottomMedium"
	case 0x01010257:
		return "bottomOffset"
	case 0x010101ac:
		return "bottomRightRadius"
	case 0x01010304:
		return "breadCrumbShortTitle"
	case 0x01010303:
		return "breadCrumbTitle"
	case 0x010104dd:
		return "breakStrategy"
	case 0x0101014e:
		return "bufferType"
	case 0x01010107:
		return "button"
	case 0x0101032f:
		return "buttonBarButtonStyle"
	case 0x0101048b:
		return "buttonBarNegativeButtonStyle"
	case 0x0101048a:
		return "buttonBarNeutralButtonStyle"
	case 0x01010489:
		return "buttonBarPositiveButtonStyle"
	case 0x0101032e:
		return "buttonBarStyle"
	case 0x01010048:
		return "buttonStyle"
	case 0x0101004a:
		return "buttonStyleInset"
	case 0x01010049:
		return "buttonStyleSmall"
	case 0x0101004b:
		return "buttonStyleToggle"
	case 0x0101046f:
		return "buttonTint"
	case 0x01010470:
		return "buttonTintMode"
	case 0x01010101:
		return "cacheColorHint"
	case 0x0101049b:
		return "calendarTextColor"
	case 0x0101034c:
		return "calendarViewShown"
	case 0x0101035d:
		return "calendarViewStyle"
	case 0x010103d8:
		return "canRequestEnhancedWebAccessibility"
	case 0x010103d9:
		return "canRequestFilterKeyEvents"
	case 0x010103d7:
		return "canRequestTouchExplorationMode"
	case 0x01010385:
		return "canRetrieveWindowContent"
	case 0x01010230:
		return "candidatesTextStyleSpans"
	case 0x01010169:
		return "capitalize"
	case 0x010103e8:
		return "category"
	case 0x010100cc:
		return "centerBright"
	case 0x0101020b:
		return "centerColor"
	case 0x010100c8:
		return "centerDark"
	case 0x010100cf:
		return "centerMedium"
	case 0x010101a2:
		return "centerX"
	case 0x010101a3:
		return "centerY"
	case 0x0101008f:
		return "checkBoxPreferenceStyle"
	case 0x01010108:
		return "checkMark"
	case 0x010104a7:
		return "checkMarkTint"
	case 0x010104a8:
		return "checkMarkTintMode"
	case 0x010101e5:
		return "checkable"
	case 0x010101e0:
		return "checkableBehavior"
	case 0x0101006c:
		return "checkboxStyle"
	case 0x01010106:
		return "checked"
	case 0x01010148:
		return "checkedButton"
	case 0x010103c8:
		return "checkedTextViewStyle"
	case 0x01010111:
		return "childDivider"
	case 0x0101010c:
		return "childIndicator"
	case 0x010103d4:
		return "childIndicatorEnd"
	case 0x0101010f:
		return "childIndicatorLeft"
	case 0x01010110:
		return "childIndicatorRight"
	case 0x010103d3:
		return "childIndicatorStart"
	case 0x0101012b:
		return "choiceMode"
	case 0x01010015:
		return "clearTaskOnLaunch"
	case 0x010100e5:
		return "clickable"
	case 0x010100ea:
		return "clipChildren"
	case 0x0101020a:
		return "clipOrientation"
	case 0x010100eb:
		return "clipToPadding"
	case 0x01010481:
		return "closeIcon"
	case 0x01010242:
		return "codes"
	case 0x0101014b:
		return "collapseColumns"
	case 0x010104d0:
		return "collapseContentDescription"
	case 0x010101a5:
		return "color"
	case 0x01010435:
		return "colorAccent"
	case 0x01010390:
		return "colorActivatedHighlight"
	case 0x01010031:
		return "colorBackground"
	case 0x010102ab:
		return "colorBackgroundCacheHint"
	case 0x010104e2:
		return "colorBackgroundFloating"
	case 0x0101042b:
		return "colorButtonNormal"
	case 0x0101042a:
		return "colorControlActivated"
	case 0x0101042c:
		return "colorControlHighlight"
	case 0x01010429:
		return "colorControlNormal"
	case 0x010104ce:
		return "colorEdgeEffect"
	case 0x0101038f:
		return "colorFocusedHighlight"
	case 0x01010030:
		return "colorForeground"
	case 0x01010206:
		return "colorForegroundInverse"
	case 0x0101038e:
		return "colorLongPressedHighlight"
	case 0x01010391:
		return "colorMultiSelectHighlight"
	case 0x0101038d:
		return "colorPressedHighlight"
	case 0x01010433:
		return "colorPrimary"
	case 0x01010434:
		return "colorPrimaryDark"
	case 0x01010377:
		return "columnCount"
	case 0x010101cf:
		return "columnDelay"
	case 0x01010378:
		return "columnOrderPreserved"
	case 0x01010117:
		return "columnWidth"
	case 0x01010485:
		return "commitIcon"
	case 0x01010365:
		return "compatibleWidthLimitDp"
	case 0x01010172:
		return "completionHint"
	case 0x01010173:
		return "completionHintView"
	case 0x01010174:
		return "completionThreshold"
	case 0x0101001f:
		return "configChanges"
	case 0x0101025d:
		return "configure"
	case 0x01010196:
		return "constantSize"
	case 0x0101025b:
		return "content"
	case 0x010104b9:
		return "contentAgeHint"
	case 0x01010290:
		return "contentAuthority"
	case 0x01010273:
		return "contentDescription"
	case 0x01010454:
		return "contentInsetEnd"
	case 0x01010455:
		return "contentInsetLeft"
	case 0x01010456:
		return "contentInsetRight"
	case 0x01010453:
		return "contentInsetStart"
	case 0x010104e7:
		return "contextClickable"
	case 0x010104ba:
		return "country"
	case 0x01010123:
		return "cropToPadding"
	case 0x01010152:
		return "cursorVisible"
	case 0x010102d2:
		return "customNavigationLayout"
	case 0x0101033b:
		return "customTokens"
	case 0x010101d4:
		return "cycles"
	case 0x010101a7:
		return "dashGap"
	case 0x010101a6:
		return "dashWidth"
	case 0x0101002e:
		return "data"
	case 0x010104ac:
		return "datePickerDialogTheme"
	case 0x010104b3:
		return "datePickerMode"
	case 0x0101035c:
		return "datePickerStyle"
	case 0x01010349:
		return "dateTextAppearance"
	case 0x01010494:
		return "dayOfWeekBackground"
	case 0x01010495:
		return "dayOfWeekTextAppearance"
	case 0x0101000f:
		return "debuggable"
	case 0x010101ed:
		return "defaultValue"
	case 0x010101cc:
		return "delay"
	case 0x010101ec:
		return "dependency"
	case 0x010100f1:
		return "descendantFocusability"
	case 0x01010020:
		return "description"
	case 0x010102a6:
		return "detachWallpaper"
	case 0x010102a3:
		return "detailColumn"
	case 0x010102a4:
		return "detailSocialSummary"
	case 0x0101034e:
		return "detailsElementBackground"
	case 0x01010102:
		return "dial"
	case 0x010101f4:
		return "dialogIcon"
	case 0x010101f7:
		return "dialogLayout"
	case 0x010101f3:
		return "dialogMessage"
	case 0x01010091:
		return "dialogPreferenceStyle"
	case 0x010104d3:
		return "dialogPreferredPadding"
	case 0x01010308:
		return "dialogTheme"
	case 0x010101f2:
		return "dialogTitle"
	case 0x01010166:
		return "digits"
	case 0x010101d1:
		return "direction"
	case 0x010103a1:
		return "directionDescriptions"
	case 0x010101d2:
		return "directionPriority"
	case 0x010101f1:
		return "disableDependentsState"
	case 0x01010033:
		return "disabledAlpha"
	case 0x010102d0:
		return "displayOptions"
	case 0x0101011c:
		return "dither"
	case 0x01010129:
		return "divider"
	case 0x0101012a:
		return "dividerHeight"
	case 0x0101032c:
		return "dividerHorizontal"
	case 0x0101032a:
		return "dividerPadding"
	case 0x0101030a:
		return "dividerVertical"
	case 0x01010445:
		return "documentLaunchMode"
	case 0x010100fc:
		return "drawSelectorOnTop"
	case 0x01010199:
		return "drawable"
	case 0x0101016e:
		return "drawableBottom"
	case 0x01010393:
		return "drawableEnd"
	case 0x0101016f:
		return "drawableLeft"
	case 0x01010171:
		return "drawablePadding"
	case 0x01010170:
		return "drawableRight"
	case 0x01010392:
		return "drawableStart"
	case 0x010104d6:
		return "drawableTint"
	case 0x010104d7:
		return "drawableTintMode"
	case 0x0101016d:
		return "drawableTop"
	case 0x010100e8:
		return "drawingCacheQuality"
	case 0x01010263:
		return "dropDownAnchor"
	case 0x01010283:
		return "dropDownHeight"
	case 0x01010088:
		return "dropDownHintAppearance"
	case 0x010102ac:
		return "dropDownHorizontalOffset"
	case 0x01010086:
		return "dropDownItemStyle"
	case 0x0101006d:
		return "dropDownListViewStyle"
	case 0x01010175:
		return "dropDownSelector"
	case 0x010102d6:
		return "dropDownSpinnerStyle"
	case 0x010102ad:
		return "dropDownVerticalOffset"
	case 0x01010262:
		return "dropDownWidth"
	case 0x010100e9:
		return "duplicateParentState"
	case 0x01010198:
		return "duration"
	case 0x01010352:
		return "editTextBackground"
	case 0x01010351:
		return "editTextColor"
	case 0x01010092:
		return "editTextPreferenceStyle"
	case 0x0101006e:
		return "editTextStyle"
	case 0x0101016b:
		return "editable"
	case 0x01010224:
		return "editorExtras"
	case 0x0101045d:
		return "elegantTextHeight"
	case 0x01010440:
		return "elevation"
	case 0x010100ab:
		return "ellipsize"
	case 0x01010158:
		return "ems"
	case 0x0101000e:
		return "enabled"
	case 0x010104dc:
		return "end"
	case 0x0101019e:
		return "endColor"
	case 0x0101017d:
		return "endYear"
	case 0x0101030c:
		return "enterFadeDuration"
	case 0x010100b2:
		return "entries"
	case 0x010101f8:
		return "entryValues"
	case 0x0101027d:
		return "eventsInterceptionEnabled"
	case 0x01010442:
		return "excludeClass"
	case 0x01010017:
		return "excludeFromRecents"
	case 0x01010441:
		return "excludeId"
	case 0x0101044e:
		return "excludeName"
	case 0x0101030d:
		return "exitFadeDuration"
	case 0x01010052:
		return "expandableListPreferredChildIndicatorLeft"
	case 0x01010053:
		return "expandableListPreferredChildIndicatorRight"
	case 0x0101004f:
		return "expandableListPreferredChildPaddingLeft"
	case 0x01010050:
		return "expandableListPreferredItemIndicatorLeft"
	case 0x01010051:
		return "expandableListPreferredItemIndicatorRight"
	case 0x0101004e:
		return "expandableListPreferredItemPaddingLeft"
	case 0x0101006f:
		return "expandableListViewStyle"
	case 0x010102b6:
		return "expandableListViewWhiteStyle"
	case 0x01010010:
		return "exported"
	case 0x0101026b:
		return "extraTension"
	case 0x010104ea:
		return "extractNativeLibs"
	case 0x010101d3:
		return "factor"
	case 0x01010278:
		return "fadeDuration"
	case 0x0101027e:
		return "fadeEnabled"
	case 0x01010277:
		return "fadeOffset"
	case 0x010102aa:
		return "fadeScrollbars"
	case 0x010100df:
		return "fadingEdge"
	case 0x010100e0:
		return "fadingEdgeLength"
	case 0x010103e1:
		return "fadingMode"
	case 0x01010335:
		return "fastScrollAlwaysVisible"
	case 0x01010226:
		return "fastScrollEnabled"
	case 0x0101033a:
		return "fastScrollOverlayPosition"
	case 0x01010337:
		return "fastScrollPreviewBackgroundLeft"
	case 0x01010338:
		return "fastScrollPreviewBackgroundRight"
	case 0x010103f7:
		return "fastScrollStyle"
	case 0x01010359:
		return "fastScrollTextColor"
	case 0x01010336:
		return "fastScrollThumbDrawable"
	case 0x01010339:
		return "fastScrollTrackDrawable"
	case 0x010101bd:
		return "fillAfter"
	case 0x010104cc:
		return "fillAlpha"
	case 0x010101bc:
		return "fillBefore"
	case 0x01010404:
		return "fillColor"
	case 0x0101024f:
		return "fillEnabled"
	case 0x0101017a:
		return "fillViewport"
	case 0x0101011b:
		return "filter"
	case 0x010102c4:
		return "filterTouchesWhenObscured"
	case 0x010104e8:
		return "fingerprintAuthDrawable"
	case 0x010102a7:
		return "finishOnCloseSystemDialogs"
	case 0x01010014:
		return "finishOnTaskLaunch"
	case 0x0101033d:
		return "firstDayOfWeek"
	case 0x010100dd:
		return "fitsSystemWindows"
	case 0x01010179:
		return "flipInterval"
	case 0x010100da:
		return "focusable"
	case 0x010100db:
		return "focusableInTouchMode"
	case 0x01010343:
		return "focusedMonthDateColor"
	case 0x010103ac:
		return "fontFamily"
	case 0x010104b7:
		return "fontFeatureSettings"
	case 0x0101022f:
		return "footerDividersEnabled"
	case 0x01010109:
		return "foreground"
	case 0x01010200:
		return "foregroundGravity"
	case 0x0101046d:
		return "foregroundTint"
	case 0x0101046e:
		return "foregroundTintMode"
	case 0x01010105:
		return "format"
	case 0x010104d8:
		return "fraction"
	case 0x010102e3:
		return "fragment"
	case 0x010104c8:
		return "fragmentAllowEnterTransitionOverlap"
	case 0x010104c9:
		return "fragmentAllowReturnTransitionOverlap"
	case 0x010102e7:
		return "fragmentCloseEnterAnimation"
	case 0x010102e8:
		return "fragmentCloseExitAnimation"
	case 0x010104c3:
		return "fragmentEnterTransition"
	case 0x010104c2:
		return "fragmentExitTransition"
	case 0x010102e9:
		return "fragmentFadeEnterAnimation"
	case 0x010102ea:
		return "fragmentFadeExitAnimation"
	case 0x010102e5:
		return "fragmentOpenEnterAnimation"
	case 0x010102e6:
		return "fragmentOpenExitAnimation"
	case 0x010104c7:
		return "fragmentReenterTransition"
	case 0x010104c5:
		return "fragmentReturnTransition"
	case 0x010104c4:
		return "fragmentSharedElementEnterTransition"
	case 0x010104c6:
		return "fragmentSharedElementReturnTransition"
	case 0x0101016c:
		return "freezesText"
	case 0x010101ca:
		return "fromAlpha"
	case 0x010101b3:
		return "fromDegrees"
	case 0x0101044a:
		return "fromId"
	case 0x010103dd:
		return "fromScene"
	case 0x010101c6:
		return "fromXDelta"
	case 0x010101c2:
		return "fromXScale"
	case 0x010101c8:
		return "fromYDelta"
	case 0x010101c4:
		return "fromYScale"
	case 0x010104eb:
		return "fullBackupContent"
	case 0x01010473:
		return "fullBackupOnly"
	case 0x010100ca:
		return "fullBright"
	case 0x010100c6:
		return "fullDark"
	case 0x01010023:
		return "functionalTest"
	case 0x0101004c:
		return "galleryItemBackground"
	case 0x01010070:
		return "galleryStyle"
	case 0x01010275:
		return "gestureColor"
	case 0x0101027c:
		return "gestureStrokeAngleThreshold"
	case 0x0101027a:
		return "gestureStrokeLengthThreshold"
	case 0x0101027b:
		return "gestureStrokeSquarenessThreshold"
	case 0x01010279:
		return "gestureStrokeType"
	case 0x01010274:
		return "gestureStrokeWidth"
	case 0x01010281:
		return "glEsVersion"
	case 0x01010482:
		return "goIcon"
	case 0x010101a4:
		return "gradientRadius"
	case 0x0101001b:
		return "grantUriPermissions"
	case 0x010100af:
		return "gravity"
	case 0x01010071:
		return "gridViewStyle"
	case 0x0101010b:
		return "groupIndicator"
	case 0x01010103:
		return "hand_hour"
	case 0x01010104:
		return "hand_minute"
	case 0x0101025a:
		return "handle"
	case 0x01010022:
		return "handleProfiling"
	case 0x0101025e:
		return "hapticFeedbackEnabled"
	case 0x010102d3:
		return "hardwareAccelerated"
	case 0x0101000c:
		return "hasCode"
	case 0x010104a0:
		return "headerAmPmTextAppearance"
	case 0x0101012f:
		return "headerBackground"
	case 0x01010497:
		return "headerDayOfMonthTextAppearance"
	case 0x0101022e:
		return "headerDividersEnabled"
	case 0x01010496:
		return "headerMonthTextAppearance"
	case 0x0101049f:
		return "headerTimeTextAppearance"
	case 0x01010498:
		return "headerYearTextAppearance"
	case 0x01010155:
		return "height"
	case 0x01010443:
		return "hideOnContentScroll"
	case 0x01010150:
		return "hint"
	case 0x0101030b:
		return "homeAsUpIndicator"
	case 0x0101031d:
		return "homeLayout"
	case 0x0101012d:
		return "horizontalDivider"
	case 0x0101023f:
		return "horizontalGap"
	case 0x01010353:
		return "horizontalScrollViewStyle"
	case 0x01010114:
		return "horizontalSpacing"
	case 0x01010028:
		return "host"
	case 0x010104de:
		return "hyphenationFrequency"
	case 0x01010002:
		return "icon"
	case 0x01010249:
		return "iconPreview"
	case 0x010102fa:
		return "iconifiedByDefault"
	case 0x010100d0:
		return "id"
	case 0x010101ff:
		return "ignoreGravity"
	case 0x01010072:
		return "imageButtonStyle"
	case 0x01010073:
		return "imageWellStyle"
	case 0x01010266:
		return "imeActionId"
	case 0x01010265:
		return "imeActionLabel"
	case 0x01010268:
		return "imeExtractEnterAnimation"
	case 0x01010269:
		return "imeExtractExitAnimation"
	case 0x0101022c:
		return "imeFullscreenBackground"
	case 0x01010264:
		return "imeOptions"
	case 0x010102ee:
		return "imeSubtypeExtraValue"
	case 0x010102ec:
		return "imeSubtypeLocale"
	case 0x010102ed:
		return "imeSubtypeMode"
	case 0x010102c0:
		return "immersive"
	case 0x010103aa:
		return "importantForAccessibility"
	case 0x01010177:
		return "inAnimation"
	case 0x0101015f:
		return "includeFontPadding"
	case 0x0101026e:
		return "includeInGlobalSearch"
	case 0x01010139:
		return "indeterminate"
	case 0x0101013e:
		return "indeterminateBehavior"
	case 0x0101013b:
		return "indeterminateDrawable"
	case 0x0101013d:
		return "indeterminateDuration"
	case 0x0101013a:
		return "indeterminateOnly"
	case 0x01010318:
		return "indeterminateProgressStyle"
	case 0x01010469:
		return "indeterminateTint"
	case 0x0101046a:
		return "indeterminateTintMode"
	case 0x010103d2:
		return "indicatorEnd"
	case 0x0101010d:
		return "indicatorLeft"
	case 0x0101010e:
		return "indicatorRight"
	case 0x010103d1:
		return "indicatorStart"
	case 0x010100f3:
		return "inflatedId"
	case 0x0101001a:
		return "initOrder"
	case 0x010103c2:
		return "initialKeyguardLayout"
	case 0x01010251:
		return "initialLayout"
	case 0x0101025f:
		return "innerRadius"
	case 0x0101019b:
		return "innerRadiusRatio"
	case 0x01010168:
		return "inputMethod"
	case 0x01010220:
		return "inputType"
	case 0x010104b5:
		return "inset"
	case 0x010101ba:
		return "insetBottom"
	case 0x010101b7:
		return "insetLeft"
	case 0x010101b8:
		return "insetRight"
	case 0x010101b9:
		return "insetTop"
	case 0x010102b7:
		return "installLocation"
	case 0x01010141:
		return "interpolator"
	case 0x01010333:
		return "isAlwaysSyncable"
	case 0x010103e9:
		return "isAsciiCapable"
	case 0x0101037f:
		return "isAuxiliary"
	case 0x01010221:
		return "isDefault"
	case 0x010103f4:
		return "isGame"
	case 0x01010147:
		return "isIndicator"
	case 0x01010246:
		return "isModifier"
	case 0x01010248:
		return "isRepeatable"
	case 0x0101024e:
		return "isScrollContainer"
	case 0x01010247:
		return "isSticky"
	case 0x010103a9:
		return "isolatedProcess"
	case 0x01010130:
		return "itemBackground"
	case 0x01010131:
		return "itemIconDisabledAlpha"
	case 0x0101032d:
		return "itemPadding"
	case 0x0101012c:
		return "itemTextAppearance"
	case 0x01010216:
		return "keepScreenOn"
	case 0x010101e8:
		return "key"
	case 0x01010233:
		return "keyBackground"
	case 0x01010245:
		return "keyEdgeFlags"
	case 0x0101023e:
		return "keyHeight"
	case 0x0101024c:
		return "keyIcon"
	case 0x0101024b:
		return "keyLabel"
	case 0x0101024a:
		return "keyOutputText"
	case 0x01010239:
		return "keyPreviewHeight"
	case 0x01010237:
		return "keyPreviewLayout"
	case 0x01010238:
		return "keyPreviewOffset"
	case 0x010103db:
		return "keySet"
	case 0x01010236:
		return "keyTextColor"
	case 0x01010234:
		return "keyTextSize"
	case 0x0101023d:
		return "keyWidth"
	case 0x010103ab:
		return "keyboardLayout"
	case 0x0101024d:
		return "keyboardMode"
	case 0x010100c5:
		return "keycode"
	case 0x0101029c:
		return "killAfterRestore"
	case 0x01010001:
		return "label"
	case 0x010103c6:
		return "labelFor"
	case 0x01010235:
		return "labelTextSize"
	case 0x0101035a:
		return "largeHeap"
	case 0x01010286:
		return "largeScreens"
	case 0x01010366:
		return "largestWidthLimitDp"
	case 0x0101001d:
		return "launchMode"
	case 0x01010492:
		return "launchTaskBehindSourceAnimation"
	case 0x01010491:
		return "launchTaskBehindTargetAnimation"
	case 0x01010354:
		return "layerType"
	case 0x010100f2:
		return "layout"
	case 0x010100ec:
		return "layoutAnimation"
	case 0x010103b2:
		return "layoutDirection"
	case 0x010103da:
		return "layoutMode"
	case 0x01010184:
		return "layout_above"
	case 0x01010186:
		return "layout_alignBaseline"
	case 0x0101018a:
		return "layout_alignBottom"
	case 0x010103ba:
		return "layout_alignEnd"
	case 0x01010187:
		return "layout_alignLeft"
	case 0x0101018e:
		return "layout_alignParentBottom"
	case 0x010103bc:
		return "layout_alignParentEnd"
	case 0x0101018b:
		return "layout_alignParentLeft"
	case 0x0101018d:
		return "layout_alignParentRight"
	case 0x010103bb:
		return "layout_alignParentStart"
	case 0x0101018c:
		return "layout_alignParentTop"
	case 0x01010189:
		return "layout_alignRight"
	case 0x010103b9:
		return "layout_alignStart"
	case 0x01010188:
		return "layout_alignTop"
	case 0x01010192:
		return "layout_alignWithParentIfMissing"
	case 0x01010185:
		return "layout_below"
	case 0x01010190:
		return "layout_centerHorizontal"
	case 0x0101018f:
		return "layout_centerInParent"
	case 0x01010191:
		return "layout_centerVertical"
	case 0x0101014c:
		return "layout_column"
	case 0x0101037d:
		return "layout_columnSpan"
	case 0x01010459:
		return "layout_columnWeight"
	case 0x010100b3:
		return "layout_gravity"
	case 0x010100f5:
		return "layout_height"
	case 0x010100f6:
		return "layout_margin"
	case 0x010100fa:
		return "layout_marginBottom"
	case 0x010103b6:
		return "layout_marginEnd"
	case 0x010100f7:
		return "layout_marginLeft"
	case 0x010100f9:
		return "layout_marginRight"
	case 0x010103b5:
		return "layout_marginStart"
	case 0x010100f8:
		return "layout_marginTop"
	case 0x0101037b:
		return "layout_row"
	case 0x0101037c:
		return "layout_rowSpan"
	case 0x01010458:
		return "layout_rowWeight"
	case 0x01010193:
		return "layout_scale"
	case 0x0101014d:
		return "layout_span"
	case 0x010103b8:
		return "layout_toEndOf"
	case 0x01010182:
		return "layout_toLeftOf"
	case 0x01010183:
		return "layout_toRightOf"
	case 0x010103b7:
		return "layout_toStartOf"
	case 0x01010181:
		return "layout_weight"
	case 0x010100f4:
		return "layout_width"
	case 0x0101017f:
		return "layout_x"
	case 0x01010180:
		return "layout_y"
	case 0x010101ad:
		return "left"
	case 0x010104b6:
		return "letterSpacing"
	case 0x01010217:
		return "lineSpacingExtra"
	case 0x01010218:
		return "lineSpacingMultiplier"
	case 0x01010154:
		return "lines"
	case 0x010100b1:
		return "linksClickable"
	case 0x010102f0:
		return "listChoiceBackgroundIndicator"
	case 0x0101021a:
		return "listChoiceIndicatorMultiple"
	case 0x01010219:
		return "listChoiceIndicatorSingle"
	case 0x01010214:
		return "listDivider"
	case 0x01010305:
		return "listDividerAlertDialog"
	case 0x010102ff:
		return "listPopupWindowStyle"
	case 0x0101004d:
		return "listPreferredItemHeight"
	case 0x01010386:
		return "listPreferredItemHeightLarge"
	case 0x01010387:
		return "listPreferredItemHeightSmall"
	case 0x010103be:
		return "listPreferredItemPaddingEnd"
	case 0x010103a3:
		return "listPreferredItemPaddingLeft"
	case 0x010103a4:
		return "listPreferredItemPaddingRight"
	case 0x010103bd:
		return "listPreferredItemPaddingStart"
	case 0x010100fb:
		return "listSelector"
	case 0x01010208:
		return "listSeparatorTextViewStyle"
	case 0x01010074:
		return "listViewStyle"
	case 0x01010075:
		return "listViewWhiteStyle"
	case 0x010104ed:
		return "lockTaskMode"
	case 0x010102be:
		return "logo"
	case 0x010104e9:
		return "logoDescription"
	case 0x010100e6:
		return "longClickable"
	case 0x01010307:
		return "loopViews"
	case 0x01010004:
		return "manageSpaceActivity"
	case 0x0101008a:
		return "mapViewStyle"
	case 0x0101021d:
		return "marqueeRepeatLimit"
	case 0x0101044f:
		return "matchOrder"
	case 0x01010136:
		return "max"
	case 0x01010340:
		return "maxDate"
	case 0x01010157:
		return "maxEms"
	case 0x01010120:
		return "maxHeight"
	case 0x01010134:
		return "maxItemsPerRow"
	case 0x01010160:
		return "maxLength"
	case 0x010101b2:
		return "maxLevel"
	case 0x01010153:
		return "maxLines"
	case 0x01010446:
		return "maxRecents"
	case 0x01010133:
		return "maxRows"
	case 0x01010271:
		return "maxSdkVersion"
	case 0x0101011f:
		return "maxWidth"
	case 0x0101047f:
		return "maximumAngle"
	case 0x0101010a:
		return "measureAllChildren"
	case 0x010102d4:
		return "measureWithLargestChild"
	case 0x010103ad:
		return "mediaRouteButtonStyle"
	case 0x010103ae:
		return "mediaRouteTypes"
	case 0x010101de:
		return "menuCategory"
	case 0x01010026:
		return "mimeType"
	case 0x0101033f:
		return "minDate"
	case 0x0101015a:
		return "minEms"
	case 0x01010140:
		return "minHeight"
	case 0x010101b1:
		return "minLevel"
	case 0x01010156:
		return "minLines"
	case 0x01010396:
		return "minResizeHeight"
	case 0x01010395:
		return "minResizeWidth"
	case 0x0101020c:
		return "minSdkVersion"
	case 0x0101013f:
		return "minWidth"
	case 0x0101047d:
		return "minimumHorizontalAngle"
	case 0x0101047e:
		return "minimumVerticalAngle"
	case 0x010103cd:
		return "mipMap"
	case 0x010103ce:
		return "mirrorForRtl"
	case 0x0101017e:
		return "mode"
	case 0x01010135:
		return "moreIcon"
	case 0x0101048e:
		return "multiArch"
	case 0x01010013:
		return "multiprocess"
	case 0x01010003:
		return "name"
	case 0x01010452:
		return "navigationBarColor"
	case 0x010104c1:
		return "navigationContentDescription"
	case 0x010104c0:
		return "navigationIcon"
	case 0x010102cf:
		return "navigationMode"
	case 0x010101f6:
		return "negativeButtonText"
	case 0x01010436:
		return "nestedScrollingEnabled"
	case 0x010100e4:
		return "nextFocusDown"
	case 0x0101033c:
		return "nextFocusForward"
	case 0x010100e1:
		return "nextFocusLeft"
	case 0x010100e2:
		return "nextFocusRight"
	case 0x010100e3:
		return "nextFocusUp"
	case 0x0101022d:
		return "noHistory"
	case 0x01010285:
		return "normalScreens"
	case 0x01010383:
		return "notificationTimeout"
	case 0x01010118:
		return "numColumns"
	case 0x01010144:
		return "numStars"
	case 0x010104a2:
		return "numbersBackgroundColor"
	case 0x010104e1:
		return "numbersInnerTextColor"
	case 0x010104a3:
		return "numbersSelectorColor"
	case 0x010104a1:
		return "numbersTextColor"
	case 0x01010165:
		return "numeric"
	case 0x010101e4:
		return "numericShortcut"
	case 0x0101026f:
		return "onClick"
	case 0x01010197:
		return "oneshot"
	case 0x0101031e:
		return "opacity"
	case 0x010101ea:
		return "order"
	case 0x010101df:
		return "orderInCategory"
	case 0x010102e2:
		return "ordering"
	case 0x010101e7:
		return "orderingFromXml"
	case 0x010100c4:
		return "orientation"
	case 0x01010178:
		return "outAnimation"
	case 0x010104b8:
		return "outlineProvider"
	case 0x010102c3:
		return "overScrollFooter"
	case 0x010102c2:
		return "overScrollHeader"
	case 0x010102c1:
		return "overScrollMode"
	case 0x01010462:
		return "overlapAnchor"
	case 0x010103a2:
		return "overridesImplicitlyEnabledSubtype"
	case 0x01010381:
		return "packageNames"
	case 0x010100d5:
		return "padding"
	case 0x010100d9:
		return "paddingBottom"
	case 0x010103b4:
		return "paddingEnd"
	case 0x010100d6:
		return "paddingLeft"
	case 0x01010457:
		return "paddingMode"
	case 0x010100d8:
		return "paddingRight"
	case 0x010103b3:
		return "paddingStart"
	case 0x010100d7:
		return "paddingTop"
	case 0x0101005e:
		return "panelBackground"
	case 0x01010061:
		return "panelColorBackground"
	case 0x01010060:
		return "panelColorForeground"
	case 0x0101005f:
		return "panelFullBackground"
	case 0x01010062:
		return "panelTextAppearance"
	case 0x010103a7:
		return "parentActivityName"
	case 0x0101015c:
		return "password"
	case 0x0101002a:
		return "path"
	case 0x01010405:
		return "pathData"
	case 0x0101002c:
		return "pathPattern"
	case 0x0101002b:
		return "pathPrefix"
	case 0x010104ca:
		return "patternPathData"
	case 0x01010006:
		return "permission"
	case 0x010103c7:
		return "permissionFlags"
	case 0x0101000a:
		return "permissionGroup"
	case 0x010103c5:
		return "permissionGroupFlags"
	case 0x0101042d:
		return "persistableMode"
	case 0x0101000d:
		return "persistent"
	case 0x010100ee:
		return "persistentDrawingCache"
	case 0x01010167:
		return "phoneNumber"
	case 0x010101b5:
		return "pivotX"
	case 0x010101b6:
		return "pivotY"
	case 0x010102c9:
		return "popupAnimationStyle"
	case 0x01010176:
		return "popupBackground"
	case 0x01010244:
		return "popupCharacters"
	case 0x0101048c:
		return "popupElevation"
	case 0x01010243:
		return "popupKeyboard"
	case 0x0101023b:
		return "popupLayout"
	case 0x01010300:
		return "popupMenuStyle"
	case 0x010104a9:
		return "popupTheme"
	case 0x01010076:
		return "popupWindowStyle"
	case 0x01010029:
		return "port"
	case 0x010101f5:
		return "positiveButtonText"
	case 0x0101008c:
		return "preferenceCategoryStyle"
	case 0x0101008d:
		return "preferenceInformationStyle"
	case 0x01010094:
		return "preferenceLayoutChild"
	case 0x0101008b:
		return "preferenceScreenStyle"
	case 0x0101008e:
		return "preferenceStyle"
	case 0x010103c0:
		return "presentationTheme"
	case 0x010102da:
		return "previewImage"
	case 0x0101001c:
		return "priority"
	case 0x01010223:
		return "privateImeOptions"
	case 0x01010011:
		return "process"
	case 0x01010137:
		return "progress"
	case 0x01010465:
		return "progressBackgroundTint"
	case 0x01010466:
		return "progressBackgroundTintMode"
	case 0x01010319:
		return "progressBarPadding"
	case 0x01010077:
		return "progressBarStyle"
	case 0x01010078:
		return "progressBarStyleHorizontal"
	case 0x01010287:
		return "progressBarStyleInverse"
	case 0x0101007a:
		return "progressBarStyleLarge"
	case 0x01010289:
		return "progressBarStyleLargeInverse"
	case 0x01010079:
		return "progressBarStyleSmall"
	case 0x01010288:
		return "progressBarStyleSmallInverse"
	case 0x0101020f:
		return "progressBarStyleSmallTitle"
	case 0x0101013c:
		return "progressDrawable"
	case 0x01010463:
		return "progressTint"
	case 0x01010464:
		return "progressTintMode"
	case 0x0101017b:
		return "prompt"
	case 0x010102e1:
		return "propertyName"
	case 0x01010474:
		return "propertyXName"
	case 0x01010475:
		return "propertyYName"
	case 0x01010009:
		return "protectionLevel"
	case 0x010103a6:
		return "publicKey"
	case 0x010101db:
		return "queryActionMsg"
	case 0x01010282:
		return "queryAfterZeroResults"
	case 0x01010487:
		return "queryBackground"
	case 0x01010358:
		return "queryHint"
	case 0x010102b3:
		return "quickContactBadgeStyleSmallWindowLarge"
	case 0x010102b2:
		return "quickContactBadgeStyleSmallWindowMedium"
	case 0x010102b1:
		return "quickContactBadgeStyleSmallWindowSmall"
	case 0x010102b0:
		return "quickContactBadgeStyleWindowLarge"
	case 0x010102af:
		return "quickContactBadgeStyleWindowMedium"
	case 0x010102ae:
		return "quickContactBadgeStyleWindowSmall"
	case 0x0101007e:
		return "radioButtonStyle"
	case 0x010101a8:
		return "radius"
	case 0x01010145:
		return "rating"
	case 0x0101007c:
		return "ratingBarStyle"
	case 0x01010210:
		return "ratingBarStyleIndicator"
	case 0x0101007d:
		return "ratingBarStyleSmall"
	case 0x01010007:
		return "readPermission"
	case 0x0101049c:
		return "recognitionService"
	case 0x01010476:
		return "relinquishTaskIdentity"
	case 0x010104bc:
		return "reparent"
	case 0x010104bd:
		return "reparentWithOverlay"
	case 0x010101bf:
		return "repeatCount"
	case 0x010101c0:
		return "repeatMode"
	case 0x01010232:
		return "reqFiveWayNav"
	case 0x01010229:
		return "reqHardKeyboard"
	case 0x01010228:
		return "reqKeyboardType"
	case 0x0101022a:
		return "reqNavigation"
	case 0x01010227:
		return "reqTouchScreen"
	case 0x010103ec:
		return "requireDeviceUnlock"
	case 0x0101028e:
		return "required"
	case 0x010103d6:
		return "requiredAccountType"
	case 0x010103d0:
		return "requiredForAllUsers"
	case 0x010103a5:
		return "requiresFadingEdge"
	case 0x01010364:
		return "requiresSmallestWidthDp"
	case 0x010104cf:
		return "resizeClip"
	case 0x01010363:
		return "resizeMode"
	case 0x0101028d:
		return "resizeable"
	case 0x01010025:
		return "resource"
	case 0x010102ba:
		return "restoreAnyVersion"
	case 0x0101029d:
		return "restoreNeedsApplication"
	case 0x010103d5:
		return "restrictedAccountType"
	case 0x01010493:
		return "restrictionType"
	case 0x010104b2:
		return "resumeWhilePausing"
	case 0x0101044b:
		return "reversible"
	case 0x010104d5:
		return "revisionCode"
	case 0x010101af:
		return "right"
	case 0x01010093:
		return "ringtonePreferenceStyle"
	case 0x010101f9:
		return "ringtoneType"
	case 0x01010326:
		return "rotation"
	case 0x01010327:
		return "rotationX"
	case 0x01010328:
		return "rotationY"
	case 0x01010375:
		return "rowCount"
	case 0x010101d0:
		return "rowDelay"
	case 0x01010241:
		return "rowEdgeFlags"
	case 0x01010132:
		return "rowHeight"
	case 0x01010376:
		return "rowOrderPreserved"
	case 0x010100e7:
		return "saveEnabled"
	case 0x010101fe:
		return "scaleGravity"
	case 0x010101fd:
		return "scaleHeight"
	case 0x0101011d:
		return "scaleType"
	case 0x010101fc:
		return "scaleWidth"
	case 0x01010324:
		return "scaleX"
	case 0x01010325:
		return "scaleY"
	case 0x01010027:
		return "scheme"
	case 0x010102cb:
		return "screenDensity"
	case 0x0101001e:
		return "screenOrientation"
	case 0x010102ca:
		return "screenSize"
	case 0x0101015b:
		return "scrollHorizontally"
	case 0x010104e6:
		return "scrollIndicators"
	case 0x01010080:
		return "scrollViewStyle"
	case 0x010100d2:
		return "scrollX"
	case 0x010100d3:
		return "scrollY"
	case 0x01010068:
		return "scrollbarAlwaysDrawHorizontalTrack"
	case 0x01010069:
		return "scrollbarAlwaysDrawVerticalTrack"
	case 0x010102a9:
		return "scrollbarDefaultDelayBeforeFade"
	case 0x010102a8:
		return "scrollbarFadeDuration"
	case 0x01010063:
		return "scrollbarSize"
	case 0x0101007f:
		return "scrollbarStyle"
	case 0x01010064:
		return "scrollbarThumbHorizontal"
	case 0x01010065:
		return "scrollbarThumbVertical"
	case 0x01010066:
		return "scrollbarTrackHorizontal"
	case 0x01010067:
		return "scrollbarTrackVertical"
	case 0x010100de:
		return "scrollbars"
	case 0x010100fe:
		return "scrollingCache"
	case 0x01010205:
		return "searchButtonText"
	case 0x010104d4:
		return "searchHintIcon"
	case 0x01010483:
		return "searchIcon"
	case 0x0101045f:
		return "searchKeyphrase"
	case 0x0101045e:
		return "searchKeyphraseId"
	case 0x010104a6:
		return "searchKeyphraseRecognitionFlags"
	case 0x01010460:
		return "searchKeyphraseSupportedLocales"
	case 0x010101d5:
		return "searchMode"
	case 0x0101028a:
		return "searchSettingsDescription"
	case 0x010101d6:
		return "searchSuggestAuthority"
	case 0x010101d9:
		return "searchSuggestIntentAction"
	case 0x010101da:
		return "searchSuggestIntentData"
	case 0x010101d7:
		return "searchSuggestPath"
	case 0x010101d8:
		return "searchSuggestSelection"
	case 0x0101026d:
		return "searchSuggestThreshold"
	case 0x01010480:
		return "searchViewStyle"
	case 0x01010138:
		return "secondaryProgress"
	case 0x01010467:
		return "secondaryProgressTint"
	case 0x01010468:
		return "secondaryProgressTintMode"
	case 0x0101007b:
		return "seekBarStyle"
	case 0x01010330:
		return "segmentedButtonStyle"
	case 0x0101015e:
		return "selectAllOnFocus"
	case 0x010101e6:
		return "selectable"
	case 0x0101030e:
		return "selectableItemBackground"
	case 0x0101045c:
		return "selectableItemBackgroundBorderless"
	case 0x01010347:
		return "selectedDateVerticalBar"
	case 0x01010342:
		return "selectedWeekBackgroundColor"
	case 0x0101043d:
		return "sessionService"
	case 0x01010225:
		return "settingsActivity"
	case 0x010103f6:
		return "setupActivity"
	case 0x01010161:
		return "shadowColor"
	case 0x01010162:
		return "shadowDx"
	case 0x01010163:
		return "shadowDy"
	case 0x01010164:
		return "shadowRadius"
	case 0x0101019a:
		return "shape"
	case 0x010101bb:
		return "shareInterpolator"
	case 0x0101000b:
		return "sharedUserId"
	case 0x01010261:
		return "sharedUserLabel"
	case 0x010101ee:
		return "shouldDisableView"
	case 0x010102d9:
		return "showAsAction"
	case 0x010101fa:
		return "showDefault"
	case 0x01010329:
		return "showDividers"
	case 0x010104ef:
		return "showForAllUsers"
	case 0x010103c9:
		return "showOnLockScreen"
	case 0x010101fb:
		return "showSilent"
	case 0x010104ad:
		return "showText"
	case 0x0101033e:
		return "showWeekNumber"
	case 0x01010341:
		return "shownWeekCount"
	case 0x0101014a:
		return "shrinkColumns"
	case 0x0101015d:
		return "singleLine"
	case 0x010103bf:
		return "singleUser"
	case 0x01010430:
		return "slideEdge"
	case 0x0101029e:
		return "smallIcon"
	case 0x01010284:
		return "smallScreens"
	case 0x01010231:
		return "smoothScrollbar"
	case 0x0101034a:
		return "solidColor"
	case 0x01010215:
		return "soundEffectsEnabled"
	case 0x01010113:
		return "spacing"
	case 0x01010087:
		return "spinnerDropDownItemStyle"
	case 0x01010089:
		return "spinnerItemStyle"
	case 0x010102f1:
		return "spinnerMode"
	case 0x01010081:
		return "spinnerStyle"
	case 0x0101034b:
		return "spinnersShown"
	case 0x010102ef:
		return "splitMotionEvents"
	case 0x0101044c:
		return "splitTrack"
	case 0x010104bf:
		return "spotShadowAlpha"
	case 0x01010119:
		return "src"
	case 0x010103e3:
		return "ssp"
	case 0x010103e5:
		return "sspPattern"
	case 0x010103e4:
		return "sspPrefix"
	case 0x010100fd:
		return "stackFromBottom"
	case 0x0101043e:
		return "stackViewStyle"
	case 0x01010082:
		return "starStyle"
	case 0x010104db:
		return "start"
	case 0x0101019d:
		return "startColor"
	case 0x010103e2:
		return "startDelay"
	case 0x010101be:
		return "startOffset"
	case 0x0101017c:
		return "startYear"
	case 0x01010448:
		return "stateListAnimator"
	case 0x01010016:
		return "stateNotNeeded"
	case 0x010100aa:
		return "state_above_anchor"
	case 0x0101031b:
		return "state_accelerated"
	case 0x010102fe:
		return "state_activated"
	case 0x010100a2:
		return "state_active"
	case 0x0101009f:
		return "state_checkable"
	case 0x010100a0:
		return "state_checked"
	case 0x01010368:
		return "state_drag_can_accept"
	case 0x01010369:
		return "state_drag_hovered"
	case 0x010100a9:
		return "state_empty"
	case 0x0101009e:
		return "state_enabled"
	case 0x010100a8:
		return "state_expanded"
	case 0x010100a4:
		return "state_first"
	case 0x0101009c:
		return "state_focused"
	case 0x01010367:
		return "state_hovered"
	case 0x010100a6:
		return "state_last"
	case 0x0101023c:
		return "state_long_pressable"
	case 0x010100a5:
		return "state_middle"
	case 0x0101034d:
		return "state_multiline"
	case 0x010100a7:
		return "state_pressed"
	case 0x010100a1:
		return "state_selected"
	case 0x010100a3:
		return "state_single"
	case 0x0101009d:
		return "state_window_focused"
	case 0x01010331:
		return "staticWallpaperPreview"
	case 0x01010451:
		return "statusBarColor"
	case 0x01010146:
		return "stepSize"
	case 0x0101036a:
		return "stopWithTask"
	case 0x01010209:
		return "streamType"
	case 0x01010149:
		return "stretchColumns"
	case 0x01010116:
		return "stretchMode"
	case 0x010104cb:
		return "strokeAlpha"
	case 0x01010406:
		return "strokeColor"
	case 0x0101040b:
		return "strokeLineCap"
	case 0x0101040c:
		return "strokeLineJoin"
	case 0x0101040d:
		return "strokeMiterLimit"
	case 0x01010407:
		return "strokeWidth"
	case 0x01010488:
		return "submitBackground"
	case 0x010102d1:
		return "subtitle"
	case 0x0101042f:
		return "subtitleTextAppearance"
	case 0x010104e4:
		return "subtitleTextColor"
	case 0x010102f9:
		return "subtitleTextStyle"
	case 0x0101039a:
		return "subtypeExtraValue"
	case 0x010103c1:
		return "subtypeId"
	case 0x01010399:
		return "subtypeLocale"
	case 0x010101dc:
		return "suggestActionMsg"
	case 0x010101dd:
		return "suggestActionMsgColumn"
	case 0x01010486:
		return "suggestionRowLayout"
	case 0x010101e9:
		return "summary"
	case 0x010102a2:
		return "summaryColumn"
	case 0x010101f0:
		return "summaryOff"
	case 0x010101ef:
		return "summaryOn"
	case 0x010104f0:
		return "supportsAssist"
	case 0x010104f1:
		return "supportsLaunchVoiceAssistFromKeyguard"
	case 0x010103af:
		return "supportsRtl"
	case 0x010103eb:
		return "supportsSwitchingToNextInputMethod"
	case 0x0101029b:
		return "supportsUploading"
	case 0x01010370:
		return "switchMinWidth"
	case 0x01010371:
		return "switchPadding"
	case 0x0101036d:
		return "switchPreferenceStyle"
	case 0x0101043f:
		return "switchStyle"
	case 0x0101036e:
		return "switchTextAppearance"
	case 0x0101036c:
		return "switchTextOff"
	case 0x0101036b:
		return "switchTextOn"
	case 0x01010019:
		return "syncable"
	case 0x010102bd:
		return "tabStripEnabled"
	case 0x010102bb:
		return "tabStripLeft"
	case 0x010102bc:
		return "tabStripRight"
	case 0x01010083:
		return "tabWidgetStyle"
	case 0x010100d1:
		return "tag"
	case 0x01010202:
		return "targetActivity"
	case 0x0101002f:
		return "targetClass"
	case 0x010103a0:
		return "targetDescriptions"
	case 0x010103dc:
		return "targetId"
	case 0x0101044d:
		return "targetName"
	case 0x01010021:
		return "targetPackage"
	case 0x01010270:
		return "targetSdkVersion"
	case 0x01010012:
		return "taskAffinity"
	case 0x010100be:
		return "taskCloseEnterAnimation"
	case 0x010100bf:
		return "taskCloseExitAnimation"
	case 0x010100bc:
		return "taskOpenEnterAnimation"
	case 0x010100bd:
		return "taskOpenExitAnimation"
	case 0x010100c2:
		return "taskToBackEnterAnimation"
	case 0x010100c3:
		return "taskToBackExitAnimation"
	case 0x010100c0:
		return "taskToFrontEnterAnimation"
	case 0x010100c1:
		return "taskToFrontExitAnimation"
	case 0x0101026a:
		return "tension"
	case 0x01010272:
		return "testOnly"
	case 0x0101014f:
		return "text"
	case 0x010103b1:
		return "textAlignment"
	case 0x0101038c:
		return "textAllCaps"
	case 0x01010034:
		return "textAppearance"
	case 0x01010207:
		return "textAppearanceButton"
	case 0x01010035:
		return "textAppearanceInverse"
	case 0x01010040:
		return "textAppearanceLarge"
	case 0x01010043:
		return "textAppearanceLargeInverse"
	case 0x01010301:
		return "textAppearanceLargePopupMenu"
	case 0x0101039e:
		return "textAppearanceListItem"
	case 0x01010432:
		return "textAppearanceListItemSecondary"
	case 0x0101039f:
		return "textAppearanceListItemSmall"
	case 0x01010041:
		return "textAppearanceMedium"
	case 0x01010044:
		return "textAppearanceMediumInverse"
	case 0x010102a0:
		return "textAppearanceSearchResultSubtitle"
	case 0x010102a1:
		return "textAppearanceSearchResultTitle"
	case 0x01010042:
		return "textAppearanceSmall"
	case 0x01010045:
		return "textAppearanceSmallInverse"
	case 0x01010302:
		return "textAppearanceSmallPopupMenu"
	case 0x01010046:
		return "textCheckMark"
	case 0x01010047:
		return "textCheckMarkInverse"
	case 0x01010098:
		return "textColor"
	case 0x01010306:
		return "textColorAlertDialogListItem"
	case 0x01010099:
		return "textColorHighlight"
	case 0x0101034f:
		return "textColorHighlightInverse"
	case 0x0101009a:
		return "textColorHint"
	case 0x0101003f:
		return "textColorHintInverse"
	case 0x0101009b:
		return "textColorLink"
	case 0x01010350:
		return "textColorLinkInverse"
	case 0x01010036:
		return "textColorPrimary"
	case 0x01010037:
		return "textColorPrimaryDisableOnly"
	case 0x01010039:
		return "textColorPrimaryInverse"
	case 0x0101028b:
		return "textColorPrimaryInverseDisableOnly"
	case 0x0101003d:
		return "textColorPrimaryInverseNoDisable"
	case 0x0101003b:
		return "textColorPrimaryNoDisable"
	case 0x01010038:
		return "textColorSecondary"
	case 0x0101003a:
		return "textColorSecondaryInverse"
	case 0x0101003e:
		return "textColorSecondaryInverseNoDisable"
	case 0x0101003c:
		return "textColorSecondaryNoDisable"
	case 0x01010212:
		return "textColorTertiary"
	case 0x01010213:
		return "textColorTertiaryInverse"
	case 0x01010362:
		return "textCursorDrawable"
	case 0x010103b0:
		return "textDirection"
	case 0x01010315:
		return "textEditNoPasteWindowLayout"
	case 0x01010314:
		return "textEditPasteWindowLayout"
	case 0x0101035f:
		return "textEditSideNoPasteWindowLayout"
	case 0x0101035e:
		return "textEditSidePasteWindowLayout"
	case 0x01010374:
		return "textEditSuggestionItemLayout"
	case 0x010100ff:
		return "textFilterEnabled"
	case 0x01010316:
		return "textIsSelectable"
	case 0x01010125:
		return "textOff"
	case 0x01010124:
		return "textOn"
	case 0x01010151:
		return "textScaleX"
	case 0x010102c7:
		return "textSelectHandle"
	case 0x010102c5:
		return "textSelectHandleLeft"
	case 0x010102c6:
		return "textSelectHandleRight"
	case 0x010102c8:
		return "textSelectHandleWindowStyle"
	case 0x01010095:
		return "textSize"
	case 0x01010097:
		return "textStyle"
	case 0x01010373:
		return "textSuggestionsWindowStyle"
	case 0x01010084:
		return "textViewStyle"
	case 0x01010000:
		return "theme"
	case 0x01010260:
		return "thickness"
	case 0x0101019c:
		return "thicknessRatio"
	case 0x01010142:
		return "thumb"
	case 0x01010143:
		return "thumbOffset"
	case 0x010104e5:
		return "thumbPosition"
	case 0x01010372:
		return "thumbTextPadding"
	case 0x01010471:
		return "thumbTint"
	case 0x01010472:
		return "thumbTintMode"
	case 0x010102a5:
		return "thumbnail"
	case 0x01010201:
		return "tileMode"
	case 0x01010477:
		return "tileModeX"
	case 0x01010478:
		return "tileModeY"
	case 0x0101049e:
		return "timePickerDialogTheme"
	case 0x010104b4:
		return "timePickerMode"
	case 0x0101049d:
		return "timePickerStyle"
	case 0x010103cc:
		return "timeZone"
	case 0x01010121:
		return "tint"
	case 0x010103fb:
		return "tintMode"
	case 0x010101e1:
		return "title"
	case 0x010101e2:
		return "titleCondensed"
	case 0x0101042e:
		return "titleTextAppearance"
	case 0x010104e3:
		return "titleTextColor"
	case 0x010102f8:
		return "titleTextStyle"
	case 0x010101cb:
		return "toAlpha"
	case 0x010101b4:
		return "toDegrees"
	case 0x01010449:
		return "toId"
	case 0x010103de:
		return "toScene"
	case 0x010101c7:
		return "toXDelta"
	case 0x010101c3:
		return "toXScale"
	case 0x010101c9:
		return "toYDelta"
	case 0x010101c5:
		return "toYScale"
	case 0x010104aa:
		return "toolbarStyle"
	case 0x010101ae:
		return "top"
	case 0x010100cb:
		return "topBright"
	case 0x010100c7:
		return "topDark"
	case 0x010101a9:
		return "topLeftRadius"
	case 0x01010258:
		return "topOffset"
	case 0x010101aa:
		return "topRightRadius"
	case 0x0101048f:
		return "touchscreenBlocksFocus"
	case 0x0101036f:
		return "track"
	case 0x010104d9:
		return "trackTint"
	case 0x010104da:
		return "trackTintMode"
	case 0x01010100:
		return "transcriptMode"
	case 0x01010320:
		return "transformPivotX"
	case 0x01010321:
		return "transformPivotY"
	case 0x010103df:
		return "transition"
	case 0x01010401:
		return "transitionGroup"
	case 0x01010400:
		return "transitionName"
	case 0x010103e0:
		return "transitionOrdering"
	case 0x0101047c:
		return "transitionVisibilityMode"
	case 0x0101045a:
		return "translateX"
	case 0x0101045b:
		return "translateY"
	case 0x01010322:
		return "translationX"
	case 0x01010323:
		return "translationY"
	case 0x010103fa:
		return "translationZ"
	case 0x01010409:
		return "trimPathEnd"
	case 0x0101040a:
		return "trimPathOffset"
	case 0x01010408:
		return "trimPathStart"
	case 0x010101a1:
		return "type"
	case 0x01010096:
		return "typeface"
	case 0x01010398:
		return "uiOptions"
	case 0x01010276:
		return "uncertainGestureColor"
	case 0x01010344:
		return "unfocusedMonthDateColor"
	case 0x0101020e:
		return "unselectedAlpha"
	case 0x01010250:
		return "updatePeriodMillis"
	case 0x01010379:
		return "useDefaultMargins"
	case 0x01010310:
		return "useIntrinsicSizeAsMinimum"
	case 0x0101019f:
		return "useLevel"
	case 0x01010291:
		return "userVisible"
	case 0x010104ec:
		return "usesCleartextTraffic"
	case 0x01010024:
		return "value"
	case 0x010102de:
		return "valueFrom"
	case 0x010102df:
		return "valueTo"
	case 0x010102e0:
		return "valueType"
	case 0x01010195:
		return "variablePadding"
	case 0x010103e7:
		return "vendor"
	case 0x0101021b:
		return "versionCode"
	case 0x0101021c:
		return "versionName"
	case 0x0101023a:
		return "verticalCorrection"
	case 0x0101012e:
		return "verticalDivider"
	case 0x01010240:
		return "verticalGap"
	case 0x01010334:
		return "verticalScrollbarPosition"
	case 0x01010115:
		return "verticalSpacing"
	case 0x01010403:
		return "viewportHeight"
	case 0x01010402:
		return "viewportWidth"
	case 0x010100dc:
		return "visibility"
	case 0x01010194:
		return "visible"
	case 0x010102b8:
		return "vmSafeMode"
	case 0x01010484:
		return "voiceIcon"
	case 0x01010255:
		return "voiceLanguage"
	case 0x01010253:
		return "voiceLanguageModel"
	case 0x01010256:
		return "voiceMaxResults"
	case 0x01010254:
		return "voicePromptText"
	case 0x01010252:
		return "voiceSearchMode"
	case 0x01010295:
		return "wallpaperCloseEnterAnimation"
	case 0x01010296:
		return "wallpaperCloseExitAnimation"
	case 0x01010299:
		return "wallpaperIntraCloseEnterAnimation"
	case 0x0101029a:
		return "wallpaperIntraCloseExitAnimation"
	case 0x01010297:
		return "wallpaperIntraOpenEnterAnimation"
	case 0x01010298:
		return "wallpaperIntraOpenExitAnimation"
	case 0x01010293:
		return "wallpaperOpenEnterAnimation"
	case 0x01010294:
		return "wallpaperOpenExitAnimation"
	case 0x010102b9:
		return "webTextViewStyle"
	case 0x01010085:
		return "webViewStyle"
	case 0x01010348:
		return "weekDayTextAppearance"
	case 0x01010345:
		return "weekNumberColor"
	case 0x01010346:
		return "weekSeparatorLineColor"
	case 0x01010128:
		return "weightSum"
	case 0x010103c4:
		return "widgetCategory"
	case 0x010101eb:
		return "widgetLayout"
	case 0x01010159:
		return "width"
	case 0x010102cd:
		return "windowActionBar"
	case 0x010102e4:
		return "windowActionBarOverlay"
	case 0x010102dd:
		return "windowActionModeOverlay"
	case 0x010104cd:
		return "windowActivityTransitions"
	case 0x0101043c:
		return "windowAllowEnterTransitionOverlap"
	case 0x0101043b:
		return "windowAllowReturnTransitionOverlap"
	case 0x010100ae:
		return "windowAnimationStyle"
	case 0x01010054:
		return "windowBackground"
	case 0x010104ab:
		return "windowClipToOutline"
	case 0x0101035b:
		return "windowCloseOnTouchOutside"
	case 0x01010059:
		return "windowContentOverlay"
	case 0x010103f9:
		return "windowContentTransitionManager"
	case 0x010103f8:
		return "windowContentTransitions"
	case 0x01010222:
		return "windowDisablePreview"
	case 0x01010450:
		return "windowDrawsSystemBarBackgrounds"
	case 0x01010490:
		return "windowElevation"
	case 0x01010317:
		return "windowEnableSplitTouch"
	case 0x010100b4:
		return "windowEnterAnimation"
	case 0x01010437:
		return "windowEnterTransition"
	case 0x010100b5:
		return "windowExitAnimation"
	case 0x01010438:
		return "windowExitTransition"
	case 0x01010055:
		return "windowFrame"
	case 0x0101020d:
		return "windowFullscreen"
	case 0x010100b7:
		return "windowHideAnimation"
	case 0x01010057:
		return "windowIsFloating"
	case 0x01010058:
		return "windowIsTranslucent"
	case 0x010104e0:
		return "windowLightStatusBar"
	case 0x01010356:
		return "windowMinWidthMajor"
	case 0x01010357:
		return "windowMinWidthMinor"
	case 0x0101021e:
		return "windowNoDisplay"
	case 0x01010056:
		return "windowNoTitle"
	case 0x010103cf:
		return "windowOverscan"
	case 0x010104af:
		return "windowReenterTransition"
	case 0x010104ae:
		return "windowReturnTransition"
	case 0x01010439:
		return "windowSharedElementEnterTransition"
	case 0x0101043a:
		return "windowSharedElementExitTransition"
	case 0x010104b1:
		return "windowSharedElementReenterTransition"
	case 0x010104b0:
		return "windowSharedElementReturnTransition"
	case 0x010104bb:
		return "windowSharedElementsUseOverlay"
	case 0x010100b6:
		return "windowShowAnimation"
	case 0x01010292:
		return "windowShowWallpaper"
	case 0x0101022b:
		return "windowSoftInputMode"
	case 0x010103f3:
		return "windowSwipeToDismiss"
	case 0x0101005c:
		return "windowTitleBackgroundStyle"
	case 0x0101005a:
		return "windowTitleSize"
	case 0x0101005b:
		return "windowTitleStyle"
	case 0x01010461:
		return "windowTransitionBackgroundFadeDuration"
	case 0x010103f0:
		return "windowTranslucentNavigation"
	case 0x010103ef:
		return "windowTranslucentStatus"
	case 0x01010008:
		return "writePermission"
	case 0x010100ac:
		return "x"
	case 0x010102bf:
		return "xlargeScreens"
	case 0x010100ad:
		return "y"
	case 0x01010499:
		return "yearListItemTextAppearance"
	case 0x0101049a:
		return "yearListSelectorColor"
	case 0x01010090:
		return "yesNoPreferenceStyle"
	case 0x010101c1:
		return "zAdjustment"
	case 0x0101054c:
		return "targetSandboxVersion"
	default:
		return ""
	}
}


text:
package io.quarkus.bootstrap.resolver.test;

import io.quarkus.bootstrap.resolver.CollectDependenciesBase;
import io.quarkus.bootstrap.resolver.TsArtifact;
import io.quarkus.bootstrap.resolver.TsDependency;
import io.quarkus.maven.dependency.DependencyFlags;

public class NearestDependencyVersionTestCase extends CollectDependenciesBase {

    @Override
    protected void setupDependencies() {

        TsArtifact a = new TsArtifact("a");
        TsArtifact b1 = new TsArtifact("b", "1");
        TsArtifact b2 = new TsArtifact("b", "2");
        TsArtifact c = new TsArtifact("c");
        TsArtifact d = new TsArtifact("d");
        TsArtifact e = new TsArtifact("e");
        TsArtifact f = new TsArtifact("f");

        a.addDependency(c);
        c.addDependency(b2);
        c.addManagedDependency(new TsDependency(b2).exclude("f"));
        d.addDependency(b1);
        d.addManagedDependency(new TsDependency(b1).exclude("e"));
        b1.addDependency(e);
        b1.addDependency(f);
        b2.addDependency(e);
        b2.addDependency(f);

        installAsDep(a);
        install(b1);
        install(b2);
        install(c);
        install(e);
        install(f);
        installAsDep(d);

        addCollectedDep(c, DependencyFlags.RUNTIME_CP);
        addCollectedDep(b1, DependencyFlags.RUNTIME_CP);
        addCollectedDep(f, DependencyFlags.RUNTIME_CP);
    }
}


text:
<?php

namespace App\Controller;

use App\Entity\Ministry\Category;
use App\Form\Ministry\CategoryType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Serializer\SerializerInterface;

/**
 * App\Controller\MinistryCategoryController
 *
 * @Route("/ministry_category")
 * @/Security("has_role('ROLE_ADMIN')")
 */
class MinistryCategoryController extends AbstractController
{
    /**
     * Lists all Address entities.
     *
     * @Route(name="app.ministry_category.index", path="/", methods={"GET"})
     */
    public function index(): Response
    {
        $em = $this->getDoctrine()->getManager();

        $repo = $em->getRepository(Category::class); /* @var $repo \App\Repository\Ministry\CategoryRepository */
        $ministryCategories = $repo->findBy([], ['position' => 'asc']);

        return $this->render('/ministry_category/index.html.twig', array(
            'ministryCategories' => $ministryCategories,
        ));
    }

    /**
     * @Route("/create", name="app.ministry_category.create")
     */
    public function create(Request $request): Response
    {
        $category = new Category();

        $form = $this->createForm(CategoryType::class, $category);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($category);
            $em->flush();

            $this->addFlash('success', 'The entry has been created.');

            return $this->redirectToRoute('app.ministry_category.edit', ['id' => $category->getId()]);
        }

        return $this->render('ministry_category/form.html.twig', [
            'category' => $category,
            'form' => $form->createView(),
        ]);
    }

    /**
     * @Route("/{id}/edit", name="app.ministry_category.edit")
     */
    public function edit(Category $category, Request $request): Response
    {
        $form = $this->createForm(CategoryType::class, $category);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $this->getDoctrine()->getManager()->flush();

            $this->addFlash('success', 'All changes have been saved.');

            return $this->redirectToRoute('app.ministry_category.edit', ['id' => $category->getId()]);
        }

        return $this->render('ministry_category/form.html.twig', [
            'category' => $category,
            'form' => $form->createView(),
        ]);
    }

    /**
     * @Route("/{id}/delete", name="app.ministry_category.delete", methods={"DELETE"})
     */
    public function delete(Category $category, Request $request): Response
    {
        if (!$this->isCsrfTokenValid('delete_ministry_category', $request->request->get('_token'))) {
            throw $this->createAccessDeniedException('Invalid token.');
        }

        $em = $this->getDoctrine()->getManager();
        $em->remove($category);
        $em->flush();

        $this->addFlash('success', 'The entry has been deleted.');

        return $this->redirectToRoute('app.ministry_category.index');
    }

    /**
     * Edits an existing Address entity.
     *
     * @Route(name="app.ministry_category.update", path="/", methods={"POST", "PUT"}, requirements={"_format" = "json"})
     */
    public function update(Request $request, SerializerInterface $serializer): Response
    {
        if ('json' != $request->getContentType()) {
            throw new \InvalidArgumentException('Wrong content type provided. JSON is expected.');
        }

        $em = $this->getDoctrine()->getManager();
        $clientMinistryCategories = json_decode($request->getContent(), true);

        $ministryNames = [];
        foreach ($clientMinistryCategories as $c) {
            foreach ($c['ministries'] as $m) {
                if (isset($ministryNames[$m['name']]) && $m['name'] != 'Materialbüro') {
                    throw new \InvalidArgumentException('ministry ' . $m['name'] . ' doppelt.');
                }
                $ministryNames[$m['name']] = $m['name'];
            }
        }

        $categories = $em->getRepository(Category::class)->findAll();
        /* @var $categories Category[] */

        $form = $this->createCategoriesForm($categories);
        $form->submit($clientMinistryCategories);

        if (!$form->isValid()) {
            return new JsonResponse('Invalid entity', JsonResponse::HTTP_BAD_REQUEST);
        }

        $ministryNames = [];
        foreach ($categories as $c) {
            foreach ($c->getMinistries() as $m) {
                if (isset($ministryNames[$m->getName()]) && $m->getName() != 'Materialbüro') {
                    throw new \InvalidArgumentException('ministry ' . $m->getName() . ' doppelt, nach form mapping.');
                }
                $ministryNames[$m->getName()] = $m->getName();
            }
        }

        foreach ($form->getData() as $category) {
            $em->persist($category);
        }
        $em->flush();

        // response
        $context = ['groups' => ['MinistryCategoryListing']];
        $data = $serializer->normalize($categories, 'json', $context);

        return new JsonResponse($data);
    }

    private function createCategoriesForm(array $categories)
    {
        $form = $this->createForm(\Symfony\Component\Form\Extension\Core\Type\CollectionType::class, $categories, [
            'entry_type' => CategoryType::class,
            'label' => false,
            'prototype' => true,
            'allow_add' => true,
            'by_reference' => false,
            'allow_delete' => true,
            'entry_options' => [
                'label' => false,
            ],
            'csrf_protection' => false,
        ]);
        return $form;
    }
}


text:
package uk.gov.gds.ier.step

import uk.gov.gds.ier.mustache.{
  MustacheModel,
  MustacheTemplateFactories,
  MustacheRendering}
import uk.gov.gds.ier.guice.{WithRemoteAssets, WithConfig}

trait StepTemplate[T]
    extends MustacheModel
    with MustacheTemplateFactories[T]
    with MustacheRendering[T]
    with WithConfig
    with WithRemoteAssets {

  type Call = play.api.mvc.Call
  val Call = play.api.mvc.Call
  type Html = play.api.templates.Html
  type MustacheTemplate = uk.gov.gds.ier.mustache.MustacheTemplate[T]
  type MustacheData = uk.gov.gds.ier.mustache.MustacheData
  val Messages = uk.gov.gds.ier.langs.Messages

  val mustache: MustacheTemplate

}


text:
import * as Chessboard from "./Chessboard";
import { StompActions } from "./StompActions";
import { StompObject } from "./StompObject";

/**
 * Creates a new StompActions which is used in an One View Chess Game
 * @class
 * @constructor
 * @augments StompActions
 * @param {number} gameUID identifying number of the game
 * @param {string} playerName name of the white player
 * @param {string} opponentName name of the black player
 * @param {string} playerColour colour of the player playing the game
 */
export class OneViewStompActions extends StompActions {
    constructor(stompObject: StompObject) {
        super(stompObject);
    }

    /**
     * @override
     */
    public updateChessBoard(chessBoardJson): void {
        const board = $.parseJSON(chessBoardJson);
        this.playerColour = board.currentPlayer.colour;
        Chessboard.createChessBoard(this.playerColour, chessBoardJson);
        this.oldChessBoard = chessBoardJson;
        updatePlayer(chessBoardJson);
    }
}


text:
package main

import (
	"fmt"
	"os"
	"os/exec"
	"path/filepath"
	"reflect"
	"syscall"

	"github.com/gorilla/websocket"

	"github.com/lxc/lxd/shared"
	"github.com/lxc/lxd/shared/logging"

	log "gopkg.in/inconshreveable/log15.v2"
)

/* Some interesting filesystems */
const (
	filesystemSuperMagicTmpfs = 0x01021994
	filesystemSuperMagicExt4  = 0xEF53
	filesystemSuperMagicXfs   = 0x58465342
	filesystemSuperMagicNfs   = 0x6969
	filesystemSuperMagicZfs   = 0x2fc12fc1
)

/*
 * filesystemDetect returns the filesystem on which
 * the passed-in path sits
 */
func filesystemDetect(path string) (string, error) {
	fs := syscall.Statfs_t{}

	err := syscall.Statfs(path, &fs)
	if err != nil {
		return "", err
	}

	switch fs.Type {
	case filesystemSuperMagicBtrfs:
		return "btrfs", nil
	case filesystemSuperMagicZfs:
		return "zfs", nil
	case filesystemSuperMagicTmpfs:
		return "tmpfs", nil
	case filesystemSuperMagicExt4:
		return "ext4", nil
	case filesystemSuperMagicXfs:
		return "xfs", nil
	case filesystemSuperMagicNfs:
		return "nfs", nil
	default:
		shared.Debugf("Unknown backing filesystem type: 0x%x", fs.Type)
		return string(fs.Type), nil
	}
}

// storageRsyncCopy copies a directory using rsync (with the --devices option).
func storageRsyncCopy(source string, dest string) (string, error) {
	if err := os.MkdirAll(dest, 0755); err != nil {
		return "", err
	}

	rsyncVerbosity := "-q"
	if debug {
		rsyncVerbosity = "-vi"
	}

	output, err := exec.Command(
		"rsync",
		"-a",
		"-HAX",
		"--devices",
		"--delete",
		"--checksum",
		"--numeric-ids",
		rsyncVerbosity,
		shared.AddSlash(source),
		dest).CombinedOutput()

	return string(output), err
}

// storageType defines the type of a storage
type storageType int

const (
	storageTypeBtrfs storageType = iota
	storageTypeZfs
	storageTypeLvm
	storageTypeDir
	storageTypeMock
)

func storageTypeToString(sType storageType) string {
	switch sType {
	case storageTypeBtrfs:
		return "btrfs"
	case storageTypeZfs:
		return "zfs"
	case storageTypeLvm:
		return "lvm"
	case storageTypeMock:
		return "mock"
	}

	return "dir"
}

type MigrationStorageSource interface {
	Name() string
	IsSnapshot() bool
	Send(conn *websocket.Conn) error
}

type storage interface {
	Init(config map[string]interface{}) (storage, error)

	GetStorageType() storageType
	GetStorageTypeName() string
	GetStorageTypeVersion() string

	// ContainerCreate creates an empty container (no rootfs/metadata.yaml)
	ContainerCreate(container container) error

	// ContainerCreateFromImage creates a container from a image.
	ContainerCreateFromImage(container container, imageFingerprint string) error

	ContainerCanRestore(container container, sourceContainer container) error
	ContainerDelete(container container) error
	ContainerCopy(container container, sourceContainer container) error
	ContainerStart(container container) error
	ContainerStop(container container) error
	ContainerRename(container container, newName string) error
	ContainerRestore(container container, sourceContainer container) error
	ContainerSetQuota(container container, size int64) error

	ContainerSnapshotCreate(
		snapshotContainer container, sourceContainer container) error
	ContainerSnapshotDelete(snapshotContainer container) error
	ContainerSnapshotRename(snapshotContainer container, newName string) error
	ContainerSnapshotStart(container container) error
	ContainerSnapshotStop(container container) error

	/* for use in migrating snapshots */
	ContainerSnapshotCreateEmpty(snapshotContainer container) error

	ImageCreate(fingerprint string) error
	ImageDelete(fingerprint string) error

	MigrationType() MigrationFSType

	// Get the pieces required to migrate the source. This contains a list
	// of the "object" (i.e. container or snapshot, depending on whether or
	// not it is a snapshot name) to be migrated in order, and a channel
	// for arguments of the specific migration command. We use a channel
	// here so we don't have to invoke `zfs send` or `rsync` or whatever
	// and keep its stdin/stdout open for each snapshot during the course
	// of migration, we can do it lazily.
	//
	// N.B. that the order here important: e.g. in btrfs/zfs, snapshots
	// which are parents of other snapshots should be sent first, to save
	// as much transfer as possible. However, the base container is always
	// sent as the first object, since that is the grandparent of every
	// snapshot.
	//
	// We leave sending containers which are snapshots of other containers
	// already present on the target instance as an exercise for the
	// enterprising developer.
	MigrationSource(container container) ([]MigrationStorageSource, error)
	MigrationSink(container container, objects []container, conn *websocket.Conn) error
}

func newStorage(d *Daemon, sType storageType) (storage, error) {
	var nilmap map[string]interface{}
	return newStorageWithConfig(d, sType, nilmap)
}

func newStorageWithConfig(d *Daemon, sType storageType, config map[string]interface{}) (storage, error) {
	if d.IsMock {
		return d.Storage, nil
	}

	var s storage

	switch sType {
	case storageTypeBtrfs:
		if d.Storage != nil && d.Storage.GetStorageType() == storageTypeBtrfs {
			return d.Storage, nil
		}

		s = &storageLogWrapper{w: &storageBtrfs{d: d}}
	case storageTypeZfs:
		if d.Storage != nil && d.Storage.GetStorageType() == storageTypeZfs {
			return d.Storage, nil
		}

		s = &storageLogWrapper{w: &storageZfs{d: d}}
	case storageTypeLvm:
		if d.Storage != nil && d.Storage.GetStorageType() == storageTypeLvm {
			return d.Storage, nil
		}

		s = &storageLogWrapper{w: &storageLvm{d: d}}
	default:
		if d.Storage != nil && d.Storage.GetStorageType() == storageTypeDir {
			return d.Storage, nil
		}

		s = &storageLogWrapper{w: &storageDir{d: d}}
	}

	return s.Init(config)
}

func storageForFilename(d *Daemon, filename string) (storage, error) {
	config := make(map[string]interface{})
	storageType := storageTypeDir

	if d.IsMock {
		return newStorageWithConfig(d, storageTypeMock, config)
	}

	filesystem, err := filesystemDetect(filename)
	if err != nil {
		return nil, fmt.Errorf("couldn't detect filesystem for '%s': %v", filename, err)
	}

	if shared.PathExists(filename + ".lv") {
		storageType = storageTypeLvm
		lvPath, err := os.Readlink(filename + ".lv")
		if err != nil {
			return nil, fmt.Errorf("couldn't read link dest for '%s': %v", filename+".lv", err)
		}
		vgname := filepath.Base(filepath.Dir(lvPath))
		config["vgName"] = vgname
	} else if shared.PathExists(filename + ".zfs") {
		storageType = storageTypeZfs
	} else if shared.PathExists(filename+".btrfs") || filesystem == "btrfs" {
		storageType = storageTypeBtrfs
	}

	return newStorageWithConfig(d, storageType, config)
}

func storageForImage(d *Daemon, imgInfo *shared.ImageBaseInfo) (storage, error) {
	imageFilename := shared.VarPath("images", imgInfo.Fingerprint)
	return storageForFilename(d, imageFilename)
}

type storageShared struct {
	sType        storageType
	sTypeName    string
	sTypeVersion string

	log shared.Logger
}

func (ss *storageShared) initShared() error {
	ss.log = logging.AddContext(
		shared.Log,
		log.Ctx{"driver": fmt.Sprintf("storage/%s", ss.sTypeName)},
	)
	return nil
}

func (ss *storageShared) GetStorageType() storageType {
	return ss.sType
}

func (ss *storageShared) GetStorageTypeName() string {
	return ss.sTypeName
}

func (ss *storageShared) GetStorageTypeVersion() string {
	return ss.sTypeVersion
}

func (ss *storageShared) shiftRootfs(c container) error {
	dpath := c.Path()
	rpath := c.RootfsPath()

	shared.Log.Debug("Shifting root filesystem",
		log.Ctx{"container": c.Name(), "rootfs": rpath})

	idmapset := c.IdmapSet()

	if idmapset == nil {
		return fmt.Errorf("IdmapSet of container '%s' is nil", c.Name())
	}

	err := idmapset.ShiftRootfs(rpath)
	if err != nil {
		shared.Debugf("Shift of rootfs %s failed: %s", rpath, err)
		return err
	}

	/* Set an acl so the container root can descend the container dir */
	// TODO: i changed this so it calls ss.setUnprivUserAcl, which does
	// the acl change only if the container is not privileged, think thats right.
	return ss.setUnprivUserAcl(c, dpath)
}

func (ss *storageShared) setUnprivUserAcl(c container, destPath string) error {
	idmapset := c.IdmapSet()

	// Skip for privileged containers
	if idmapset == nil {
		return nil
	}

	// Make sure the map is valid. Skip if container uid 0 == host uid 0
	uid, _ := idmapset.ShiftIntoNs(0, 0)
	switch uid {
	case -1:
		return fmt.Errorf("Container doesn't have a uid 0 in its map")
	case 0:
		return nil
	}

	// Attempt to set a POSIX ACL first. Fallback to chmod if the fs doesn't support it.
	acl := fmt.Sprintf("%d:rx", uid)
	_, err := exec.Command("setfacl", "-m", acl, destPath).CombinedOutput()
	if err != nil {
		_, err := exec.Command("chmod", "+x", destPath).CombinedOutput()
		if err != nil {
			return fmt.Errorf("Failed to chmod the container path.")
		}
	}

	return nil
}

type storageLogWrapper struct {
	w   storage
	log shared.Logger
}

func (lw *storageLogWrapper) Init(config map[string]interface{}) (storage, error) {
	_, err := lw.w.Init(config)
	lw.log = logging.AddContext(
		shared.Log,
		log.Ctx{"driver": fmt.Sprintf("storage/%s", lw.w.GetStorageTypeName())},
	)

	lw.log.Info("Init")
	return lw, err
}

func (lw *storageLogWrapper) GetStorageType() storageType {
	return lw.w.GetStorageType()
}

func (lw *storageLogWrapper) GetStorageTypeName() string {
	return lw.w.GetStorageTypeName()
}

func (lw *storageLogWrapper) GetStorageTypeVersion() string {
	return lw.w.GetStorageTypeVersion()
}

func (lw *storageLogWrapper) ContainerCreate(container container) error {
	lw.log.Debug(
		"ContainerCreate",
		log.Ctx{
			"name":         container.Name(),
			"isPrivileged": container.IsPrivileged()})
	return lw.w.ContainerCreate(container)
}

func (lw *storageLogWrapper) ContainerCreateFromImage(
	container container, imageFingerprint string) error {

	lw.log.Debug(
		"ContainerCreateFromImage",
		log.Ctx{
			"imageFingerprint": imageFingerprint,
			"name":             container.Name(),
			"isPrivileged":     container.IsPrivileged()})
	return lw.w.ContainerCreateFromImage(container, imageFingerprint)
}

func (lw *storageLogWrapper) ContainerCanRestore(container container, sourceContainer container) error {
	lw.log.Debug("ContainerCanRestore", log.Ctx{"container": container.Name()})
	return lw.w.ContainerCanRestore(container, sourceContainer)
}

func (lw *storageLogWrapper) ContainerDelete(container container) error {
	lw.log.Debug("ContainerDelete", log.Ctx{"container": container.Name()})
	return lw.w.ContainerDelete(container)
}

func (lw *storageLogWrapper) ContainerCopy(
	container container, sourceContainer container) error {

	lw.log.Debug(
		"ContainerCopy",
		log.Ctx{
			"container": container.Name(),
			"source":    sourceContainer.Name()})
	return lw.w.ContainerCopy(container, sourceContainer)
}

func (lw *storageLogWrapper) ContainerStart(container container) error {
	lw.log.Debug("ContainerStart", log.Ctx{"container": container.Name()})
	return lw.w.ContainerStart(container)
}

func (lw *storageLogWrapper) ContainerStop(container container) error {
	lw.log.Debug("ContainerStop", log.Ctx{"container": container.Name()})
	return lw.w.ContainerStop(container)
}

func (lw *storageLogWrapper) ContainerRename(
	container container, newName string) error {

	lw.log.Debug(
		"ContainerRename",
		log.Ctx{
			"container": container.Name(),
			"newName":   newName})
	return lw.w.ContainerRename(container, newName)
}

func (lw *storageLogWrapper) ContainerRestore(
	container container, sourceContainer container) error {

	lw.log.Debug(
		"ContainerRestore",
		log.Ctx{
			"container": container.Name(),
			"source":    sourceContainer.Name()})
	return lw.w.ContainerRestore(container, sourceContainer)
}

func (lw *storageLogWrapper) ContainerSetQuota(
	container container, size int64) error {

	lw.log.Debug(
		"ContainerSetQuota",
		log.Ctx{
			"container": container.Name(),
			"size":      size})
	return lw.w.ContainerSetQuota(container, size)
}

func (lw *storageLogWrapper) ContainerSnapshotCreate(
	snapshotContainer container, sourceContainer container) error {

	lw.log.Debug("ContainerSnapshotCreate",
		log.Ctx{
			"snapshotContainer": snapshotContainer.Name(),
			"sourceContainer":   sourceContainer.Name()})

	return lw.w.ContainerSnapshotCreate(snapshotContainer, sourceContainer)
}

func (lw *storageLogWrapper) ContainerSnapshotCreateEmpty(snapshotContainer container) error {
	lw.log.Debug("ContainerSnapshotCreateEmpty",
		log.Ctx{
			"snapshotContainer": snapshotContainer.Name()})

	return lw.w.ContainerSnapshotCreateEmpty(snapshotContainer)
}

func (lw *storageLogWrapper) ContainerSnapshotDelete(
	snapshotContainer container) error {

	lw.log.Debug("ContainerSnapshotDelete",
		log.Ctx{"snapshotContainer": snapshotContainer.Name()})
	return lw.w.ContainerSnapshotDelete(snapshotContainer)
}

func (lw *storageLogWrapper) ContainerSnapshotRename(
	snapshotContainer container, newName string) error {

	lw.log.Debug("ContainerSnapshotRename",
		log.Ctx{
			"snapshotContainer": snapshotContainer.Name(),
			"newName":           newName})
	return lw.w.ContainerSnapshotRename(snapshotContainer, newName)
}

func (lw *storageLogWrapper) ContainerSnapshotStart(container container) error {
	lw.log.Debug("ContainerStart", log.Ctx{"container": container.Name()})
	return lw.w.ContainerSnapshotStart(container)
}

func (lw *storageLogWrapper) ContainerSnapshotStop(container container) error {
	lw.log.Debug("ContainerStop", log.Ctx{"container": container.Name()})
	return lw.w.ContainerSnapshotStop(container)
}

func (lw *storageLogWrapper) ImageCreate(fingerprint string) error {
	lw.log.Debug(
		"ImageCreate",
		log.Ctx{"fingerprint": fingerprint})
	return lw.w.ImageCreate(fingerprint)
}

func (lw *storageLogWrapper) ImageDelete(fingerprint string) error {
	lw.log.Debug("ImageDelete", log.Ctx{"fingerprint": fingerprint})
	return lw.w.ImageDelete(fingerprint)

}

func (lw *storageLogWrapper) MigrationType() MigrationFSType {
	return lw.w.MigrationType()
}

func (lw *storageLogWrapper) MigrationSource(container container) ([]MigrationStorageSource, error) {
	lw.log.Debug("MigrationSource", log.Ctx{"container": container.Name()})
	return lw.w.MigrationSource(container)
}

func (lw *storageLogWrapper) MigrationSink(container container, objects []container, conn *websocket.Conn) error {
	objNames := []string{}
	for _, obj := range objects {
		objNames = append(objNames, obj.Name())
	}

	lw.log.Debug("MigrationSink", log.Ctx{
		"container": container.Name(),
		"objects":   objNames,
	})

	return lw.w.MigrationSink(container, objects, conn)
}

func ShiftIfNecessary(container container, srcIdmap *shared.IdmapSet) error {
	dstIdmap := container.IdmapSet()
	if dstIdmap == nil {
		dstIdmap = new(shared.IdmapSet)
	}

	if !reflect.DeepEqual(srcIdmap, dstIdmap) {
		if err := srcIdmap.UnshiftRootfs(container.Path()); err != nil {
			return err
		}

		if err := dstIdmap.ShiftRootfs(container.Path()); err != nil {
			return err
		}
	}

	return nil
}

type rsyncStorageSource struct {
	container container
}

func (s *rsyncStorageSource) Name() string {
	return s.container.Name()
}

func (s *rsyncStorageSource) IsSnapshot() bool {
	return s.container.IsSnapshot()
}

func (s *rsyncStorageSource) Send(conn *websocket.Conn) error {
	path := s.container.Path()
	return RsyncSend(shared.AddSlash(path), conn)
}

func rsyncMigrationSource(container container) ([]MigrationStorageSource, error) {
	sources := []MigrationStorageSource{}

	/* transfer the container, and then all the snapshots */
	sources = append(sources, &rsyncStorageSource{container})
	snaps, err := container.Snapshots()
	if err != nil {
		return nil, err
	}

	for _, snap := range snaps {
		sources = append(sources, &rsyncStorageSource{snap})
	}

	return sources, nil
}

func rsyncMigrationSink(container container, snapshots []container, conn *websocket.Conn) error {
	/* the first object is the actual container */
	if err := RsyncRecv(shared.AddSlash(container.Path()), conn); err != nil {
		return err
	}

	for _, snap := range snapshots {
		if err := RsyncRecv(shared.AddSlash(snap.Path()), conn); err != nil {
			return err
		}
	}

	return nil
}


text:
'use strict'

describe(
	'authorizer',
	function() {

	    var authorizer, ADMIN = 'ADMIN', GUEST = 'GUEST', ANY_OTHER_ROLE = 'ANY', newsletter = 'newsletter:view,create,edit,delete';

	    beforeEach(module('angularShiro'));

	    beforeEach(inject(function(_authorizer_) {
		authorizer = _authorizer_;
		authorizer.setAuthorizationInfo(new AuthorizationInfo([ ADMIN, GUEST ], [ newsletter ]));
	    }));

	    it('should tell if has role', function() {
		expect(authorizer.hasRole(ADMIN)).toBeTruthy();
		expect(authorizer.hasRole(ANY_OTHER_ROLE)).toBeFalsy();
	    });

	    it('should tell if has roles', function() {
		expect(authorizer.hasRoles([ ADMIN, ANY_OTHER_ROLE, GUEST ])).toEqual([ true, false, true ]);
	    });

	    it('should tell if has all roles', function() {
		expect(authorizer.hasAllRoles([ ADMIN, ANY_OTHER_ROLE, GUEST ])).toBeFalsy();
		expect(authorizer.hasAllRoles([ ADMIN ])).toBeTruthy();
		expect(authorizer.hasAllRoles([ ADMIN, GUEST ])).toBeTruthy();
	    });

	    it('should tell if is permitted', function() {
		expect(authorizer.isPermitted('any')).toBeFalsy();
		expect(authorizer.isPermitted(new Permission('any'))).toBeFalsy();
		expect(authorizer.isPermitted('newsletter')).toBeFalsy();
		expect(authorizer.isPermitted('newsletter:view')).toBeTruthy();
		expect(authorizer.isPermitted([ 'newsletter:delete', 'any', 'newsletter:edit' ])).toEqual(
			[ true, false, true ]);
	    });

	    it('should tell if is all permitted', function() {
		expect(authorizer.isPermittedAll([ 'newsletter:delete', 'any', 'newsletter:edit' ])).toBeFalsy();
		expect(authorizer.isPermittedAll([ 'newsletter:delete', 'newsletter:edit', 'newsletter:delete,edit' ]))
			.toBeTruthy();
	    });

	});


text:
"""
Simple examples of convolution to do some basic filters
Also demonstrates the use of TensorFlow data readers.

We will use some popular filters for our image.
It seems to be working with grayscale images, but not with rgb images.
It's probably because I didn't choose the right kernels for rgb images.

kernels for rgb images have dimensions 3 x 3 x 3 x 3
kernels for grayscale images have dimensions 3 x 3 x 1 x 1

Note:
When you call tf.train.string_input_producer,
a tf.train.QueueRunner is added to the graph, which must be run using
e.g. tf.train.start_queue_runners() else your session will run into deadlock
and your program will crash.

And to run QueueRunner, you need a coordinator to close to your queue for you.
Without coordinator, your threads will keep on running outside session and you will have the error:
ERROR:tensorflow:Exception in QueueRunner: Attempted to use a closed Session.

Author: Chip Huyen
Prepared for the class CS 20SI: "TensorFlow for Deep Learning Research"
cs20si.stanford.edu

"""
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

import sys
sys.path.append('..')

from matplotlib import gridspec as gridspec
from matplotlib import pyplot as plt
import tensorflow as tf

import kernels

FILENAME = 'data/friday.jpg'

def read_one_image(filename):
    """ This is just to demonstrate how to open an image in TensorFlow,
    but it's actually a lot easier to use Pillow
    """
    filename_queue = tf.train.string_input_producer([filename])
    image_reader = tf.WholeFileReader()
    _, image_file = image_reader.read(filename_queue)
    image = tf.image.decode_jpeg(image_file, channels=3)
    image = tf.cast(image, tf.float32) / 256.0 # cast to float to make conv2d work
    return image

def convolve(image, kernels, rgb=True, strides=[1, 3, 3, 1], padding='SAME'):
    images = [image[0]]
    for i, kernel in enumerate(kernels):
        filtered_image = tf.nn.conv2d(image, kernel, strides=strides, padding=padding)[0]
        if i == 2:
            filtered_image = tf.minimum(tf.nn.relu(filtered_image), 255)
        images.append(filtered_image)
    return images

def get_real_images(images):
    with tf.Session() as sess:
        coord = tf.train.Coordinator()
        threads = tf.train.start_queue_runners(coord=coord)
        images = sess.run(images)
        coord.request_stop()
        coord.join(threads)
    return images

def show_images(images, rgb=True):
    gs = gridspec.GridSpec(1, len(images))
    for i, image in enumerate(images):
        plt.subplot(gs[0, i])
        if rgb:
            plt.imshow(image)
        else:
            image = image.reshape(image.shape[0], image.shape[1])
            plt.imshow(image, cmap='gray')
        plt.axis('off')
    plt.show()

def main():
    rgb = False
    if rgb:
        kernels_list = [kernels.BLUR_FILTER_RGB, kernels.SHARPEN_FILTER_RGB, kernels.EDGE_FILTER_RGB,
                    kernels.TOP_SOBEL_RGB, kernels.EMBOSS_FILTER_RGB]
    else:
        kernels_list = [kernels.BLUR_FILTER, kernels.SHARPEN_FILTER, kernels.EDGE_FILTER,
                    kernels.TOP_SOBEL, kernels.EMBOSS_FILTER]

    image = read_one_image(FILENAME)
    if not rgb:
        image = tf.image.rgb_to_grayscale(image)
    image = tf.expand_dims(image, 0) # to make it into a batch of 1 element
    images = convolve(image, kernels_list, rgb)
    images = get_real_images(images)
    show_images(images, rgb)

if __name__ == '__main__':
    main()


text:
import uuid

import ZODB
import persistent
import BTrees
import transaction

from repoze.catalog.catalog import Catalog
from repoze.catalog.query import Eq, Gt, Lt, Ge, Le, Contains, DoesNotContain, NotEq, Any, NotAny
from repoze.catalog.indexes.field import CatalogFieldIndex

class DoesNotExist(Exception):
    pass

class NoIndex(Exception):
    pass

class ZODBModel(persistent.Persistent):
    _id = None
    _v_reindex = False

    class Meta:
        table = "zodbmodel"
        index_fields = ()

    def __init__(self, *args, **kwargs):
        for key in kwargs:
            value = kwargs[key]
            if hasattr(self, key):
                setattr(self, key, value)

    @classmethod
    def _get_index_fields(cls):
        try:
            return cls.Meta.index_fields
        except AttributeError:
            return ()

    @classmethod
    def _get_connection(cls):
        try:
            return cls.Meta.connection
        except AttributeError:
            zodb = ZODB.DB(None)
            cls.Meta.connection = zodb.open()
            return cls.Meta.connection

    @classmethod
    def _get_model_root(cls):
        root = cls._get_connection().root
        if not hasattr(root, cls.Meta.table):
            model_root = BTrees.OOBTree.BTree()
            setattr(root, cls.Meta.table, model_root)
            model_root['objects'] = BTrees.OOBTree.BTree()
            model_root['catalog'] = Catalog()
            model_root['catalog_index'] = None

        model_root = getattr(root, cls.Meta.table)
        # Regenerate index fields?
        if 'catalog_index' not in model_root or model_root['catalog_index'] != cls._get_index_fields():
            catalog = Catalog()
            for field in cls._get_index_fields():
                catalog[field] = CatalogFieldIndex(field)

            model_root['catalog'] = catalog
            model_root['catalog_index'] = cls._get_index_fields()

            cls.commit()
            cls.index()

        return model_root

    @classmethod
    def index(cls):
        root = cls._get_root()
        catalog = cls._get_catalog()
        for key in root:
            obj = root[key]
            try:
                catalog.reindex_doc(key, obj)
            except TypeError:
                pass

        cls.commit()

    @classmethod
    def _get_root(cls):
        model_root = cls._get_model_root()
        return model_root['objects']

    @classmethod
    def _get_catalog(cls):
        model_root = cls._get_model_root()
        if 'catalog' not in model_root:
            model_root['catalog'] = Catalog()
        return model_root['catalog']

    @classmethod
    def select(cls, attempt=0, sort_index=None, reverse=False, limit=None, *args, **kwargs):
        catalog = cls._get_catalog()
        qo = None

        for key in kwargs:
            key_parts = key.split('__', 1)
            original_key = key

            key = key_parts[0]
            if key not in catalog.keys():
                print catalog.keys()
                raise NoIndex('The field %s is not in the list of indexed fields for %s' % (key, cls.__name__))
            value = kwargs[original_key]

            if isinstance(value, ZODBModel):
                value = unicode(value)

            if len(key_parts) == 2:
                if key_parts[1] == 'gt':
                    nqo = Gt(key, value)
                elif key_parts[1] == 'lt':
                    nqo = Lt(key, value)
                elif key_parts[1] == 'gte':
                    nqo = Ge(key, value)
                elif key_parts[1] == 'lte':
                    nqo = Le(key, value)
                elif key_parts[1] == 'contains':
                    nqo = Contains(key, value)
                elif key_parts[1] == 'ncontains':
                    nqo = DoesNotContain(key, value)
                elif key_parts[1] == 'ne':
                    nqo = NotEq(key, value)
                elif key_parts[1] == 'in':
                    nqo = Any(key, value)
                elif key_parts[1] == 'nin':
                    nqo = NotAny(key, value)
                else:
                    raise Exception("Unknown comparator %s" % (key_parts[1]))
            else:
                nqo = Eq(key, value)

            if qo:
                qo = qo & nqo
            else:
                qo = nqo

        root = cls._get_root()
        if qo:
            _, results = catalog.query(qo, sort_index=sort_index, reverse=reverse, limit=limit)
        else:
            _, results = catalog.sort_result(root.keys(), sort_index=sort_index, reverse=reverse, limit=limit)

        try:
            return [root[x] for x in results]
        except KeyError, e:
            if attempt < 2:
                cls.index()
                return cls.select(attempt=attempt + 1, *args, **kwargs)
            raise e

    @classmethod
    def count(cls, *args, **kwargs):
        if len(kwargs) == 0:
            return len(cls._get_root())
        return len(cls.select(*args, **kwargs))

    @classmethod
    def get(cls, *args, **kwargs):
        if '_id' in kwargs:
            try:
                return cls._get_root()[kwargs['_id']]
            except Exception:
                raise DoesNotExist()
        try:
            return cls.select(*args, **kwargs)[0]
        except IndexError:
            raise DoesNotExist()

    def _get_safe_key(self, root):
        try:
            key = root.maxKey() + 1
        except ValueError:
            key = 1
        return key

    @classmethod
    def commit(cls):
        transaction.commit()
        cls._get_connection().sync()

    def save(self, commit=True):
        root = self._get_root()
        if not self._id:
            self._id = self._get_safe_key(root)
        root[self._id] = self

        # Check catalog fields
        for field in self._get_index_fields():
            val = getattr(self, field)
            if val is None:
                setattr(self, field, '')

        catalog = self._get_catalog()
        catalog.reindex_doc(self._id, self)

        if commit:
            transaction.commit()

    def delete(self, commit=True):
        root = self._get_root()
        if self._id:
            catalog = self._get_catalog()
            catalog.unindex_doc(self._id)

            del root[self._id]
            self._id = None

        if commit:
            transaction.commit()

    def getPk(self):
        return self._id

    def __str__(self, *args, **kwargs):
        return str(self.getPk())

    def __unicode__(self, *args, **kwargs):
        return unicode(self.getPk())

    def __setattr__(self, name, value):
        if isinstance(value, ZODBModel):
            value = unicode(value)

        persistent.Persistent.__setattr__(self, name, value)


text:
<?php

namespace ZfcRbac\Role;

use Zend\ServiceManager\AbstractPluginManager;
use ZfcRbac\Exception;

/**
 * Plugin manager to create role providers
 *
 * @method RoleProviderInterface get($name)
 *
 * @author  Michaël Gallego <mic.gallego@gmail.com>
 * @license MIT
 */
class RoleProviderPluginManager extends AbstractPluginManager
{
    /**
     * @var array
     */
    protected $invokableClasses = [
        'ZfcRbac\Role\InMemoryRoleProvider' => 'ZfcRbac\Role\InMemoryRoleProvider'
    ];

    /**
     * @var array
     */
    protected $factories = [
        'ZfcRbac\Role\ObjectRepositoryRoleProvider' => 'ZfcRbac\Factory\ObjectRepositoryRoleProviderFactory'
    ];

    /**
     * {@inheritDoc}
     */
    public function validate($plugin)
    {
        if ($plugin instanceof RoleProviderInterface) {
            return; // we're okay
        }

        throw new Exception\RuntimeException(sprintf(
            'Role provider must implement "ZfcRbac\Role\RoleProviderInterface", but "%s" was given',
            is_object($plugin) ? get_class($plugin) : gettype($plugin)
        ));
    }

    /**
     * {@inheritDoc}
     */
    public function validatePlugin($plugin)
    {
        $this->validate($plugin);
    }

    /**
     * {@inheritDoc}
     */
    protected function canonicalizeName($name)
    {
        return $name;
    }
}