  _user-settings: '("grids": (-1px: 3, 500px: 5, 700px: 1 3 5), "gutters": (-1px: 0.25, 500px: 0.35, 700px: 0.55), "gutter styles": (-1px: "split", 500px: "fixed", 700px: "opposite fixed"))';
  _grid-override: 2 4 6;
  _gutter-override: 0.4;
  _gutter-style-override: "split fixed";
}

.find-grid {
  _map: 'false';
  _find: "3";
  _map: 'true';
  _find: "3";
}
@media (min-width: 499px) {
  .find-grid {
    _map: 'false';
    _find-layout: "2 4 6";
  }
}
@media (min-width: 500px) {
  .find-grid {
    _map: 'false';
    _find-layout: "2 4 6";
  }
}
@media (min-width: 699px) {
  .find-grid {
    _map: 'false';
    _find-layout: "2 4 6";
  }
}
@media (min-width: 700px) {
  .find-grid {
    _map: 'false';
    _find-layout: "2 4 6";
  }
}
@media (min-width: 499px) {
  .find-grid {
    _map: 'true';
    _find-layout: "2 4 6";
  }
}
@media (min-width: 500px) {
  .find-grid {
    _map: 'true';
    _find-layout: "2 4 6";
  }
}
@media (min-width: 699px) {
  .find-grid {
    _map: 'true';
    _find-layout: "2 4 6";
  }
}
@media (min-width: 700px) {
  .find-grid {
    _map: 'true';
    _find-layout: "2 4 6";
  }
}

.find-gutter {
  _find: "0.25";
}
@media (min-width: 499px) {
  .find-gutter {
    _find-layout: "0.4";
  }
}
@media (min-width: 500px) {
  .find-gutter {
    _find-layout: "0.4";
  }
}
@media (min-width: 699px) {
  .find-gutter {
    _find-layout: "0.4";
  }
}
@media (min-width: 700px) {
  .find-gutter {
    _find-layout: "0.4";
  }
}

.find-gutter-style {
  _find: "split";
}
@media (min-width: 499px) {
  .find-gutter-style {
    _find-layout: "split fixed";
  }
}
@media (min-width: 500px) {
  .find-gutter-style {
    _find-layout: "split fixed";
  }
}
@media (min-width: 699px) {
  .find-gutter-style {
    _find-layout: "split fixed";
  }
}
@media (min-width: 700px) {
  .find-gutter-style {
    _find-layout: "split fixed";
  }
}
.settings {
  _default-settings: '("grids": (-1px: 12), "gutters": (-1px: 0.25), "gutter styles": (-1px: "opposite"), "output": "isolation", "direction": "ltr", "mobile first": true, "include border box": false, "include clearfix": false, "background grid color": chocolate, "asymmetric output": "isolation", "calc include min-width": true, "debug": false)';
  _user-settings: '("grids": (-1px: 3, 500px: 5, 700px: 1 3 5), "gutters": (-1px: 0.25, 500px


_bound, bounds_type, lower_bounds, upper_bounds] (const ColVec_t& vals_inp, ColVec_t* grad_out, void* opt_data) \
    -> fp_t
    {
        if (vals_bound) {
            ColVec_t vals_inv_trans = inv_transform(vals_inp, bounds_type, lower_bounds, upper_bounds);

            fp_t ret;

            if (grad_out) {
                ColVec_t grad_obj = *grad_out;

                ret = opt_objfn(vals_inv_trans, &grad_obj, opt_data);

                // Mat_t jacob_matrix = jacobian_adjust(vals_inp,bounds_type,lower_bounds,upper_bounds);
                ColVec_t jacob_vec = BMO_MATOPS_EXTRACT_DIAG( jacobian_adjust(vals_inp,bounds_type,lower_bounds,upper_bounds) );

                // *grad_out = jacob_matrix * grad_obj; //
                *grad_out = BMO_MATOPS_HADAMARD_PROD(jacob_vec, grad_obj);
            } else {
                ret = opt_objfn(vals_inv_trans, nullptr, opt_data);
            }

            return ret;
        } else {
            return opt_objfn(vals_inp,grad_out,opt_data);
        }
    };

    //
    // initialization

    if (! BMO_MATOPS_IS_FINITE(init_out_vals) ) {
        printf("gd error: non-finite initial value(s).\n");
        return false;
    }

    ColVec_t x = init_out_vals;
    ColVec_t d = BMO_MATOPS_ZERO_COLVEC(n_vals);

    ColVec_t adam_vec_m;
    ColVec_t adam_vec_v;

    if (settings.gd_settings.method == 3 || settings.gd_settings.method == 4) {
        adam_vec_v = BMO_MATOPS_ZERO_COLVEC(n_vals);
    }

    if (settings.gd_settings.method == 5 || settings.gd_settings.method == 6 || settings.gd_settings.method == 7) {
        adam_vec_m = BMO_MATOPS_ZERO_COLVEC(n_vals);
        adam_vec_v = BMO_MATOPS_ZERO_COLVEC(n_vals);
    }

    if (vals_bound) { // should we transform the parameters?
        x = transform(x, bounds_type, lower_bounds, upper_bounds);
    }

    ColVec_t grad(n_vals); // gradient
    box_objfn(x,&grad,opt_data);

    fp_t grad_err = BMO_MATOPS_L2NORM(grad);

    OPTIM_GD_TRACE(-1, grad_err, 0.0, x, d, grad, adam_vec_m, adam_vec_v);

    if (grad_err <= grad_err_tol) {
        return true;
    }

    //
    // begin loop

    ColVec_t grad_p = grad;
    fp_t rel_sol_change = 1.0;

    size_t iter = 0;

    while (grad_err > grad_err_tol && rel_sol_change > rel_sol_change_tol && iter < iter_max) {
        ++iter;

        //

        ColVec_t d_p = gd_update(x, grad, grad_p, d, box_objfn, opt_data, iter,
                                 gd_settings, adam_vec_m, adam_vec_v);

        ColVec_t x_p = x - d_p;
        grad = grad_p;

        box_objfn(x_p, &grad_p, opt_data);

        if (gd_settings.clip_grad) {
            gradient_clipping(grad_p, gd_settings);
        }

        //

        grad_err = BMO_MATOPS_L2NORM(grad_p);
        rel_sol_change = BMO_MATOPS_L1NORM( BMO_MATOPS_ARRAY_DIV_ARRAY((x_p - x), (BMO_MATOPS_ARRAY_ADD_SCALAR(BMO_MATOPS_ABS(x), OPTIM_FPN_SMALL_NUMBER)) ) );

        d = d_p;
        x = x_p;

        //


sition: relative;
    top: 2px;
  }

  .flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + 2px);
  }

  .flatpickr-calendar.static.open {
    z-index: 999;
    display: block;
  }

  .flatpickr-calendar.multiMonth
    .flatpickr-days
    .dayContainer:nth-child(n + 1)
    .flatpickr-day.inRange:nth-child(7n + 7) {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
  }

  .flatpickr-calendar.multiMonth
    .flatpickr-days
    .dayContainer:nth-child(n + 2)
    .flatpickr-day.inRange:nth-child(7n + 1) {
    -webkit-box-shadow: -2px 0 0 var(--color-zinc-100),
      5px 0 0 var(--color-zinc-100);
    box-shadow: -2px 0 0 var(--color-zinc-100), 5px 0 0 var(--color-zinc-100);
  }

  .flatpickr-calendar .hasWeeks .dayContainer,
  .flatpickr-calendar .hasTime .dayContainer {
    @apply border-b-0 rounded-l-none rounded-r-none;
  }

  .flatpickr-calendar .hasWeeks .dayContainer {
    @apply border-l-0;
  }

  .flatpickr-calendar.hasTime .flatpickr-time {
    @apply border-t border-zinc-100 dark:border-zinc-700 h-[40px];
  }

  .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    height: auto;
  }

  .flatpickr-calendar:before,
  .flatpickr-calendar:after {
    position: absolute;
    display: block;
    pointer-events: none;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    left: 22px;
  }

  .flatpickr-calendar.rightMost:before,
  .flatpickr-calendar.arrowRight:before,
  .flatpickr-calendar.rightMost:after,
  .flatpickr-calendar.arrowRight:after {
    left: auto;
    right: 22px;
  }

  .flatpickr-calendar.arrowCenter:before,
  .flatpickr-calendar.arrowCenter:after {
    left: 50%;
    right: 50%;
  }

  .flatpickr-calendar:before {
    border-width: 5px;
    margin: 0 -5px;
    display: none;
  }

  .flatpickr-calendar:after {
    border-width: 4px;
    margin: 0 -4px;
    display: none;
  }

  .flatpickr-calendar.arrowTop:before,
  .flatpickr-calendar.arrowTop:after {
    bottom: 100%;
  }

  .flatpickr-calendar.arrowTop:before {
    @apply hidden border-zinc-100;
  }

  .flatpickr-calendar.arrowTop:after {
    @apply border-white;
  }

  .flatpickr-calendar.arrowBottom:before,
  .flatpickr-calendar.arrowBottom:after {
    top: 100%;
  }

  .flatpickr-calendar.arrowBottom:before {
    @apply border-zinc-100;
  }

  .flatpickr-calendar.arrowBottom:after {
    @apply border-white;
  }

  .flatpickr-calendar:focus {
    @apply outline-none;
  }

  .flatpickr-wrapper {
    @apply relative inline-block;
  }

  .flatpickr-months {
    @apply flex;
  }

  .flatpickr-months .flatpickr-month {
    background: transparent;
    color: rgba(0, 0, 0, 0.9);
    fill: rgba(0, 0, 0,


namespace AvalonStudio.Controls.Standard.SolutionExplorer
{
    using AvalonStudio.Platforms;
    using AvalonStudio.Projects;
    using ReactiveUI;
    using System;
    using System.IO;
    using System.Reactive;

    public abstract class ProjectItemViewModel<T> : ProjectItemViewModel where T : IProjectItem
    {
        public ProjectItemViewModel(T model)
        {
            Model = model;

            RemoveItemCommand = ReactiveCommand.Create(() =>
            {
            });

            OpenInExplorerCommand = ReactiveCommand.Create(() =>
            {
                if (model is IProjectFolder)
                {
                    Platform.OpenFolderInExplorer((model as IProjectFolder).Location);
                }
                else if (model is IProjectItem)
                {
                    Platform.OpenFolderInExplorer((model as IProjectItem).Parent.Location);
                }


bo()))
			--local hardmode_days_left = eot._hardmode_days_reset_counter and eot._hardmode_days_reset_counter - TheWorld.state.cycles or nil
			local retinazor = eot.components.entitytracker and eot.components.entitytracker:GetEntity("twin1")
			local spazmatism = eot.components.entitytracker and eot.components.entitytracker:GetEntity("twin2")

			-- calculate health restore
			local health_restore = 0
			-- they despawn if not fought for a day so...
			--[[
			if day_difference and day_difference > 0 then
				health_restore = HEALTH_PER_DAY * day_difference
			end
			--]]

			--local hardmode = string.format("hardmode days left:", hardmode_days_left)
			local retinazor_next_health = nil
			if retinazor then
				local health, max_health = (retinazor.components.health and retinazor.components.health.currenthealth or nil), (retinazor.components.health and retinazor.components.health:GetMaxWithPenalty())
				if health and max_health then
					retinazor_next_health = string.format(context.lstr.terrarium.retinazor_health, health + health_restore, max_health)
				end
			end

			local spazmatism_next_health = nil
			if spazmatism then
				local health, max_health = (spazmatism.components.health and spazmatism.components.health.currenthealth or nil), (spazmatism.components.health and spazmatism.components.health:GetMaxWithPenalty())
				if health and max_health then
					spazmatism_next_health = string.format(context.lstr.terrarium.spazmatism_health, health + health_restore, max_health)
				end
			end

			description = CombineLines(retinazor_next_health, spazmatism_next_health)
		end
	else
		--alt_description = string.format("eot exists: %s", tostring(eot ~= nil))
	end

	-- so i have to display information about the cooldown and the boss health stuff
	-- if i want to do the latter, it can't be worldly but can't show cooldown
	-- if i want to do the former, it has to be worldly but can't show health
	-- this is what i am resorting to
	-- i don't even remember why i put the worldly check in place. wonder what would happen if i removed it.
	-- but i don't want to bother with it for now, so i'll do this.
	return {
		name = "terrarium_health",
		priority = 0,
		description = description,
		prefably = true,
	}

end

local function StatusAnnouncementsDescribe(special_data, context, inventoryinst)
	-- This can be called from either the ItemDetail in InsightMenu or the actual item
	if not special_data or not special_data.cooldown then
		return
	end

	local description = ProcessRichTextPlainly(string.format(
		context.lstr.terrarium.announce_cooldown,
		context.time:TryStatusAnnouncementsTime(special_data.cooldown)
	))

	return {
		description = description,
		append = true
	}
end

return {
	GetCooldownData = GetCooldownData,

	Describe = Describe,
	RemoteDescribe = RemoteDescribe,
	StatusAnnouncementsDescribe = StatusAnnouncementsDescribe
}


e("i32"),f++,y=l[f+1|0];else for(;48<=y&&57>=y;)A=10*A+(y-48),f++,y=l[f+1|0];var D=!1;if(46==y){var w=0,D=!0;f++;y=l[f+1|0];if(42==y)w=e("i32"),f++;else for(;;){y=l[f+1|0];if(48>y||57<y)break;w=10*w+(y-48);f++}y=l[f+1|0]}else w=6;var u;switch(String.fromCharCode(y)){case "h":y=l[f+2|0];104==y?(f++,u=1):u=2;break;case "l":y=l[f+2|0];108==y?(f++,u=8):u=4;break;case "L":case "q":case "j":u=8;break;case "z":case "t":case "I":u=4;break;default:u=
null}u&&f++;y=l[f+1|0];switch(String.fromCharCode(y)){case "d":case "i":case "u":case "o":case "x":case "X":case "p":kb=100==y||105==y;u=u||4;var t=h=e("i"+8*u),s;8==u&&(h=U.makeBigInt(h[0],h[1],117==y));if(4>=u){var G=Math.pow(256,u)-1;h=(kb?Jm:Ak)(h&G,8*u)}G=Math.abs(h);kb="";if(100==y||105==y)s=8==u&&ji?ji.stringify(t[0],t[1],null):Jm(h,8*u,1).toString(10);else if(117==y)s=8==u&&ji?ji.stringify(t[0],t[1],!0):Ak(h,8*u,1).toString(10),h=Math.abs(h);else if(111==y)s=(m?"0":"")+G.toString(8);else if(120==
y||88==y){kb=m&&0!=h?"0x":"";if(8==u&&ji)if(t[1]){s=(t[1]>>>0).toString(16);for(m=(t[0]>>>0).toString(16);8>m.length;)m="0"+m;s+=m}else s=(t[0]>>>0).toString(16);else if(0>h){h=-h;s=(G-1).toString(16);t=[];for(m=0;m<s.length;m++)t.push((15-parseInt(s[m],16)).toString(16));for(s=t.join("");s.length<2*u;)s="f"+s}else s=G.toString(16);88==y&&(kb=kb.toUpperCase(),s=s.toUpperCase())}else 112==y&&(0===G?s="(nil)":(kb="0x",s=G.toString(16)));if(D)for(;s.length<w;)s="0"+s;for(p&&(kb=0>h?"-"+kb:"+"+kb);kb.length+
s.length<A;)v?s+=" ":z?s="0"+s:kb=" "+kb;s=kb+s;s.split("").forEach(function(a){g.push(a.charCodeAt(0))});break;case "f":case "F":case "e":case "E":case "g":case "G":h=e("double");if(isNaN(h))s="nan",z=!1;else if(isFinite(h)){D=!1;u=Math.min(w,20);if(103==y


.html#a0f6c4400e131b103d2fd89e420d6c308',1,'para_gen']]],
  ['hidden_5fstate_5fbias',['HIDDEN_STATE_BIAS',['../arm__nnexamples__gru__test__data_8h.html#a73d4e38a4aa9fa9d761d08d33b3a07fd',1,'HIDDEN_STATE_BIAS(): arm_nnexamples_gru_test_data.h'],['../arm__nnexamples__gru_8cpp.html#a40dda695923891899cb86b2f01bfd98a',1,'hidden_state_bias(): arm_nnexamples_gru.cpp']]],
  ['hidden_5fstate_5fweight_5fx2',['HIDDEN_STATE_WEIGHT_X2',['../arm__nnexamples__gru__test__data_8h.html#a9ab9fa603208647d992b3367a757979b',1,'arm_nnexamples_gru_test_data.h']]],
  ['hidden_5fstate_5fweight_5fx4',['HIDDEN_STATE_WEIGHT_X4',['../arm__nnexamples__gru__test__data_8h.html#a619947523492a72ab306da514e843ae3',1,'arm_nnexamples_gru_test_data.h']]],
  ['hidden_5fstate_5fweights',['hidden_state_weights',['../arm__nnexamples__gru_8cpp.html#ab18783e8d8449d7222ec4a64dfcc92e6',1,'arm_nnexamples_gru.cpp']]],
  ['hidden_5fweight',['hidden_weight',['../namespacepara__gen.html#a1a6edb73b72a6bbf443e6e450186660c',1,'para_gen']]],
  ['history_2etxt',['history.txt',['../history_8txt.html',1,'']]],
  ['history_5fdata',['HISTORY_DATA',['../arm__nnexamples__gru__test__data_8h.html#a55c93e4e823bca1e77f4487d1ab9c056',1,'HISTORY_DATA(): arm_nnexamples_gru_test_data.h'],['../namespacepara__gen.html#acdb294668ecca9a6f849afa4156883cd',1,'para_gen.history_data()']]]
];
var unionSCTLR__Type =
[
    [ "A", "unionSCTLR__Type.html#a078edcb9c3fc8b46b8cf382ad249bb79", null ],
    [ "AFE", "unionSCTLR__Type.html#ae5a729bf64a6de4cbfa42c1a7d254535", null ],
    [ "B", "unionSCTLR__Type.html#a805ee3324a333d7a77d9f0d8f0fac9a7", null ],
    [ "b", "unionSCTLR__Type.html#a21ec59a37644281456a5f607450951d8", null ],
    [ "C", "unionSCTLR__Type.html#a122a4dde5ab1a27855ddad88bb3f9f78", null ],
    [ "CP15BEN", "unionSCTLR__Type.html#a98b55213f3bf0a8bd4f1db90512238de", null ],
    [ "EE", "unionSCTLR__Type.html#af868e042d01b612649539c151f1aaea5", null ],
    [ "FI", "unionSCTLR__Type.html#afe77b6c5d73e64d4ef3c5dc5ce2692


Adornee"]
  LOADK R18 K29 ["Edge_%*"]
  MOVE R20 R15
  NAMECALL R18 R18 K30 ["format"]
  CALL R18 2 1
  MOVE R17 R18
  SETTABLEKS R17 R16 K15 ["Name"]
  LOADN R17 0
  SETTABLEKS R17 R16 K31 ["ZIndex"]
  LOADK R18 K32 [0.2]
  LOADK R20 K32 [0.2]
  FASTCALL3 VECTOR R18 R12 R20
  MOVE R19 R12
  GETIMPORT R17 K34 [Vector3.new]
  CALL R17 3 1
  SETTABLEKS R17 R16 K35 ["Size"]
  SETTABLEKS R4 R16 K0 ["Color3"]
  LOADK R17 K36 [0.6]
  SETTABLEKS R17 R16 K37 ["Transparency"]
  FASTCALL2 TABLE_INSERT R9 R16 [+5]
  MOVE R18 R9
  MOVE R19 R16
  GETIMPORT R17 K40 [table.insert]
  CALL R17 2 0
  GETIMPORT R17 K9 [Instance.new]
  LOADK R18 K27 ["BoxHandleAdornment"]
  CALL R17 1 1
  SETTABLEKS R7 R17 K4 ["Parent"]
  LOADNIL R18
  SETTABLEKS R18 R17 K28 ["Adornee"]
  LOADK R19 K41 ["Face_%*"]
  MOVE R21 R15
  NAMECALL R19 R19 K30 ["format"]
  CALL R19 2 1
  MOVE R18 R19
  SETTABLEKS R18 R17 K15 ["Name"]
  LOADN R18 0
  SETTABLEKS R18 R16 K31 ["ZIndex"]
  SETTABLEKS R4 R17 K0 ["Color3"]
  LOADK R18 K42 [0.87]
  SETTABLEKS R18 R17 K37 ["Transparency"]
  FASTCALL2 TABLE_INSERT R8 R17 [+5]
  MOVE R19 R8
  MOVE R20 R17
  GETIMPORT R18 K40 [table.insert]
  CALL R18 2 0
  FORNLOOP R13
  LOADK R15 K11 ["Value"]
  NAMECALL R13 R6 K43 ["GetPropertyChangedSignal"]
  CALL R13 2 1
  NEWCLOSURE R15 P1
  CAPTURE VAL R9
  CAPTURE VAL R6
  CAPTURE REF R8
  NAMECALL R13 R13 K44 ["Connect"]
  CALL R13 2 0
  GETTABLEKS R14 R2 K21 ["X"]
  MULK R13 R14 K45 [0.5]
  GETTABLEKS R15 R2 K20 ["Z"]
  MULK R14 R15 K45 [0.5]
  NEWTABLE R15 0 4
  LOADN R18 0
  FASTCALL3 VECTOR R13 R18 R14
  MOVE R17 R13
  MOVE R19 R14
  GETIMPORT R16 K34 [Vector3.new]
  CALL R16 3 1
  LOADN R19 0
  MINUS R20 R14
  FASTCALL3 VECTOR R13 R19 R20
  MOVE R18 R13
  GETIMPORT R17 K34 [Vector3.new]
  CALL R17 3 1
  MINUS R19 R13
  LOADN R20 0
  MINUS R21 R14
  FASTCALL VECTOR [+2]
  GETIMPORT R18 K34 [Vector3.new]
  CALL R18 3 1
  MINUS R20 R13
  LOADN R21 0
  FASTCALL3 VECTOR R20 R21 R14
  MOVE R22 R14
  GETIMPORT R19 K34 [Vector3.new]
  CALL R19 3 1
  SETLIST R15 R16 4 [1]
  NEWTABLE R16 0 2
  GETTABLEKS R18 R2 K21 ["X"]
  LOADN R20 0
  FASTCALL3 VECTOR R18 R12 R20


const getDay = createSelector(
  getEntityState,
  (state: EntityState) => {
    let d = state.clockSetup.day;
    let result = '' + d + (31 == d || 21 == d || 1 == d ? "st" : 22 == d || 2 == d ? "nd" : 23 == d || 3 == d ? "rd" : "th")
    return result;
  }
)

const getHours = createSelector(getEntityState, (state: EntityState) => state.clockSetup.hours);
const getMinutes = createSelector(getEntityState, (state: EntityState) => state.clockSetup.minutes);
const getMode = createSelector(getEntityState, (state: EntityState) => state.clockSetup.mode);

@Injectable()
export class ClockSetupSelectors {
  constructor(private store: Store<EntityState>) { }
  dateTime$ = this.store.select(getDateTime);
  year$ = this.store.select(getYear);
  month$ = this.store.select(getMonth);
  day$ = this.store.select(getDay);
  hours$ = this.store.select(getHours);
  minutes$ = this.store.select(getMinutes);
  mode$ = this.store.select(getMode);
}const extension = require('../../lib/extensions/dates')
const utils = require('../utils')

describe('lib/extensions/dates.ts', () => {
  let coerce
  const transform = value => coerce(utils.createValidationResult(value)).value

  describe('coerce', () => {
    describe('unix', () => {
      beforeEach(() => {
        coerce = extension.coerce['date-time']['unix-timestamp']['coerce-type']
      })

      it('should transform string values', () => {
        expect(transform('86400')).toEqual(new Date('1970-01-02T00:00:00.000Z'))
        expect(transform(String(86400 * 366))).toEqual(new Date('1971-01-02T00:00:00.000Z'))
      })

      it('should transform number values', () => {
        expect(transform(86400)).toEqual(new Date('1970-01-02T00:00:00.000Z'))
        expect(transform(86400 * 366)).toEqual(new Date('1971-01-02T00:00:00.000Z'))
      })

      it('should directly return a date value', () => {
        const d1 = new Date(2016, 4, 3)
        const d2 = new Date(1985, 2, 1)
        expect(transform(d1)).toEqual(d1)
        expect(transform(d2)).toEqual(d2)
      })

      it('should directly return all other values', () => {
        expect(() => transform('foobar')).toThrowError()
        expect(() => transform({})).toThrowError()
        expect(() => transform([])).toThrowError()
        expect(() => transform(null)).toThrowError()
        expect(() => transform(undefined)).toThrowError()
      })
    })

    describe('fallback format', () => {
      beforeEach(() => {
        coerce = extension.coerce['date-time'].___FALLBACK_FORMAT___['coerce-type']
      })

      it('should transform string values', () => {
        expect(transform('2016-01-04')).toEqual(new Date('2016-01-04T00:00:00Z'))
        expect(transform('1993-02-14T08:00:00.000Z')).toEqual(new Date('1993-02-14T08:00:00.000Z'))
      })

      it('should transform number values', () => {
        expect(transform(86400 * 1000)).toEqual(new Date('1970-01-02T00:00:00.000Z'))
        expect(transform(86400 * 366 * 1000)).toEqual(new Date('1971-01-02T00:00:00.000Z'))
      })

      it('should interpret ambiguous number values as javascript timestamps', () => {
        expect(transform(0)).toEqual(new Date('1970-01-01T00:00:


0].Env[0].Name)
			}

			switch {
			case strings.Contains(testcase.Pod.Name, "ps"):
				if testcase.Pod.Spec.Containers[0].Env[0].Value != `{"cluster":{"ps":["train-123-ps-0.train-123:5000","train-123-ps-1.train-123:5000"],"worker":["train-123-worker-0.train-123:5000","train-123-worker-1.train-123:5000"],"chief":["train-123-chief-0.train-123:5000"]},"task":{"type":"ps","index":0}}` {
					t.Errorf("Case %d (%s): wrong env value, got %s", i, testcase.Name, testcase.Pod.Spec.Containers[0].Env[0].Value)
				}
			case strings.Contains(testcase.Pod.Name, "worker"):
				if testcase.Pod.Spec.Containers[0].Env[0].Value != `{"cluster":{"ps":["train-123-ps-0.train-123:5000","train-123-ps-1.train-123:5000"],"worker":["train-123-worker-0.train-123:5000","train-123-worker-1.train-123:5000"],"chief":["train-123-chief-0.train-123:5000"]},"task":{"type":"worker","index":0}}` {
					t.Errorf("Case %d (%s): wrong env value, got %s", i, testcase.Name, testcase.Pod.Spec.Containers[0].Env[0].Value)
				}
			case strings.Contains(testcase.Pod.Name, "chief"):
				if testcase.Pod.Spec.Containers[0].Env[0].Value != `{"cluster":{"ps":["train-123-ps-0.train-123:5000","train-123-ps-1.train-123:5000"],"worker":["train-123-worker-0.train-123:5000","train-123-worker-1.train-123:5000"],"chief":["train-123-chief-0.train-123:5000"]},"task":{"type":"chief","index":0}}` {
					t.Errorf("Case %d (%s): wrong env value, got %s", i, testcase.Name, testcase.Pod.Spec.Containers[0].Env[0].Value)
				}
			}
		})
	}
}
/*
Copyright 2025 The Volcano Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package validate

import (
	"fmt"
	"strings"
	"testing"

	admissionv1 "k8s.io/api/admission/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

	flowv1alpha1 "volcano.sh/apis/pkg/apis/flow/v1alpha1"
	schedulingv1beta2 "volcano.sh/apis/pkg/apis/scheduling/v1beta1"
	fakeclient "volcano.sh/apis/pkg/client/clientset/versioned/fake"
	informers "volcano.sh/apis/pkg/client/informers/externalversions"
)

func TestValidateJobFlowCreate(t *testing.T) {
	namespace := "test"
	testCases := []struct {
		Name           string
		JobFlow        flowv1alpha1.JobFlow
		ExpectErr      bool
		reviewResponse admissionv1.AdmissionResponse
		ret            string
	}{
		{
			Name: "validate valid-jobflow",
			JobFlow: flowv1alpha1.JobFlow{
				ObjectMeta: metav1.ObjectMeta{
					Nam


[32592] = "鐵砧",
[32593] = "鐵砧",
[32594] = "鐵砧",
[32596] = "鐵砧",
[32833] = "木椅",
[32834] = "木椅",
[32835] = "木椅",
[32842] = "木椅",
[32843] = "木椅",
[32844] = "木椅",
[32845] = "木椅",
[32846] = "木椅",
[32847] = "鐵砧",
[32848] = "鐵砧",
[32849] = "鐵砧",
[32850] = "鐵砧",
[32851] = "鐵砧",
[32852] = "鐵砧",
[32853] = "木椅",
[32854] = "木椅",
[32855] = "木椅",
[32856] = "木椅",
[32857] = "木椅",
[32858] = "木椅",
[32859] = "木椅",
[32860] = "木椅",
[32861] = "木椅",
[32862] = "木椅",
[32863] = "木椅",
[32878] = "營火",
[32879] = "大鍋",
[32880] = "大鍋",
[32881] = "咆哮的營火",
[32882] = "熊熊烈火",
[32883] = "營火",
[32884] = "熊熊大火",
[32885] = "熊熊的營火",
[33360] = "莫拉格酒店",
[33998] = "下水道",
[33999] = "下水道",
[34012] = "下水道",
[34013] = "下水道",
[34025] = "鐵砧",
[34026] = "鐵砧",
[34027] = "鐵砧",
[34028] = "鐵砧",
[34029] = "鐵砧",
[34030] = "鐵砧",
[34031] = "鐵砧",
[34032] = "鐵砧",
[34033] = "鐵砧",
[34034] = "鐵砧",
[34035] = "鐵砧",
[34036] = "鐵砧",
[34037] = "鐵砧",
[34038] = "鐵砧",
[34167] = "木椅",
[34168] = "木椅",
[34357] = "漿泡的藥水飲料店",
[34360] = "矮人火盆",
[34571] = "熔爐",
[34572] = "熔爐",
[35251] = "卡尼托的箱子",
[35252] = "古代聖物",
[35591] = "浮標",
[35593] = "熊熊大火",
[35594] = "熊熊大火",
[35595] = "熊熊大火",
[35596] = "熊熊大火",
[35597] = "熊熊大火",
[35598] = "熊熊大火",
[35758] = "未完成的


e fun setUp() {
    super.setUp()
    terminalPanel = McpTerminalPanel(project)
  }

  fun testPanelCreation() {
    // 测试面板可以正确创建
    assertNotNull(terminalPanel)

    // 验证面板是JComponent的实例
    assertTrue(terminalPanel is JComponent)
  }

  fun testPanelComponents() {
    // 测试面板包含必要的组件
    assertNotNull(terminalPanel)

    // 验证面板不为空且可以显示
    assertTrue(terminalPanel.componentCount >= 0)
  }

  fun testCommandExecution() {
    // 测试命令执行功能（模拟）
    try {
      // 在测试环境中，我们只测试方法调用不会抛出异常
      assertNotNull(terminalPanel)

      // 测试面板可以处理命令输入
      // 注意：实际的命令执行需要真实的终端环境
    } catch (e: Exception) {
      // 在测试环境中可能会有限制
      println("终端命令测试异常: ${e.message}")
    }
  }

  fun testHistoryManagement() {
    // 测试命令历史管理
    try {
      assertNotNull(terminalPanel)

      // 测试历史记录功能不会抛出异常
      // 实际的历史记录功能需要用户交互
    } catch (e: Exception) {
      println("历史记录测试异常: ${e.message}")
    }
  }

  fun testOutputComparison() {
    // 测试输出对比功能
    try {
      assertNotNull(terminalPanel)

      // 测试输出对比功能的基本创建
      // 实际的对比功能需要真实的输出数据
    } catch (e: Exception) {
      println("输出对比测试异常: ${e.message}")
    }
  }

  fun testPanelDispose() {
    // 测试面板销毁
    try {
      assertNotNull(terminalPanel)

      // 测试销毁不会抛出异常
      terminalPanel.dispose()
    } catch (e: Exception) {
      fail("终端面板销毁时不应该抛出异常: ${e.message}")
    }
  }
}
package io.github.truenine.composeserver.ide.ideamcp.services

import com.intellij.openapi.application.runWriteAction
import com.intellij.openapi.roots.ModuleRootModificationUtil
import com.intellij.openapi.vfs.VfsUtil
import com.intellij.testFramework.fixtures.BasePlatformTestCase
import io.github.truenine.composeserver.ide.ideamcp.tools.SourceType
import java.io.File
import java.nio.file.Files
import java.util.jar.JarEntry
import java.util.jar.JarOutputStream
import kotlinx.coroutines.runBlocking
import org.junit.Test

/**
 * LibCodeServiceImpl 的集成测试
 *
 * 使用 BasePlatformTestCase 来模拟一个真实的 IntelliJ 项目环境， 包括虚拟文件系统、模块和库依赖
 */
class LibCodeServiceImplTest : BasePlatformTestCase() {

  private lateinit var service: LibCodeService

  /** 在每个测试方法执行前设置测试环境 */
  override fun setUp() {
    super.setUp()
    service = LibCodeServiceImpl()
  }

  /** 测试当类在任何地方都找不到时，服务能否返回 NOT_FOUND 结果 */
  @Test
  fun testGetLibraryCode_notFound() = runBlocking {
    // Given
    val className = "com.nonexistent.NonExistentClass"

    // When
    val result = service.getLibraryCode(project, className)

    // Then
    assertNotNull("结果不应为空", result)
    assertEquals("应返回 NOT_FOUND 状态", SourceType.NOT_FOUND, result.metadata.sourceType)
    assertFalse("NOT_FOUND 结果不应标记为反编译", result.isDecompiled)
    assertEquals("语言应为 text", "


: track.Artist, Tracks: []Track{track}}
	}

	// Find the specific track within the fetched album's tracks.
	// This is important because the 'track' object passed in might not have all details
	// that the full album fetch provides (e.g., full cover URL, stream URL details).
	var albumTrack *Track
	for i := range album.Tracks {
		if idToString(album.Tracks[i].ID) == idToString(track.ID) {
			albumTrack = &album.Tracks[i]
			break
		}
	}

	if albumTrack == nil {
		return fmt.Errorf("failed to find track %s (ID: %s) within its album %s (ID: %s)", track.Title, idToString(track.ID), album.Title, album.ID)
	}

	// Download cover
	var coverData []byte
	if album.Cover != "" {
		coverData, err = api.DownloadCover(ctx, album.Cover)
		if err != nil {
			if config.WarningBehavior == "immediate" {
				colorWarning.Printf("⚠ Could not download cover art for album %s: %v\n", album.Title, err)
			} else {
				warningCollector.AddCoverArtDownloadWarning(album.Title, err.Error())
			}
		}
	}

	// Create track path
	artistDir := filepath.Join(api.outputLocation, SanitizeFileName(albumTrack.Artist))
	albumDir := filepath.Join(artistDir, SanitizeFileName(album.Title))
	trackFileName := GetTrackFilename(albumTrack.TrackNumber, albumTrack.Title)
	trackPath := filepath.Join(albumDir, trackFileName)

	// Skip if already exists
	if FileExists(trackPath) {
		if config.WarningBehavior == "immediate" {
			colorWarning.Printf("⭐ Track already exists: %s\n", trackPath)
		} else {
			warningCollector.AddTrackSkippedWarning(trackPath)
		}
		return nil
	}

	// Create progress bar
	var bar *pb.ProgressBar
	if pool != nil { // Use pool if provided
		bar = pb.New(0)
		bar.SetTemplateString(`{{ string . "prefix" }} {{ bar . }} {{ percent . }} | {{ speed . "%s/s" }} | ETA {{ rtime . "%s" }}`)
		bar.Set("prefix", fmt.Sprintf("Downloading %-40s: ", TruncateString(albumTrack.Title, 40)))
		if debug {
			fmt.Println("DEBUG: Creating single track progress bar for", albumTrack.Title)
		}
		pool.Add(bar) // Add to pool
	} else if isTTY() { // Fallback to single bar if no pool and is TTY
		bar = pb.New(0)
		bar.SetWriter(os.Stdout)
		bar.SetTemplateString(`{{ string . "prefix" }} {{ bar . }} {{ percent . }} | {{ speed . "%s/s" }} | ETA {{ rtime . "%s" }}`)
		bar.Set("prefix", fmt.Sprintf("Downloading %-40s: ", TruncateString(albumTrack.Title, 40)))
		if debug {
			fmt.Println("DEBUG: Creating single track progress bar for", albumTrack.Title)
		}
		bar.Start()
	}

	// Download the track
	finalPath, err := api.DownloadTrack(ctx, *albumTrack, album, trackPath, coverData, bar, debug, format, bitrate, config, warningCollector)
	if err != nil {
		if bar != nil && pool == nil { // Only finish if it's a standalone bar
			bar.Finish()
		}
		return err
	}
	if bar != nil && pool == nil { // Only finish if it's a standalone bar
		bar.Finish()
	}

	colorSuccess.Printf("✅ Successfully downloaded: %s\n", finalPath)

	// Show warning summary only if we own the collector (standalone download)
	if ownCollector && config.WarningBehavi


ΤΗΝ ΠΕΡΙΠΤΩΣΗ ΑΥΤΗ, ΟΠΟΙΑΔΗΠΟΤΕ
ΥΠΟΣΤΗΡΙΞΗ ΠΟΥ ΠΑΡΕΧΕΤΑΙ ΑΠΟ ΤΗΝ IBM ΥΠΟΚΕΙΤΑΙ ΣΤΙΣ ΔΗΛΩΣΕΙΣ
ΑΠΟΠΟΙΗΣΗΣ ΚΑΙ ΣΤΙΣ ΕΞΑΙΡΕΣΕΙΣ ΠΟΥ ΟΡΙΖΟΝΤΑΙ ΣΤΟ ΠΑΡΟΝ ΑΡΘΡΟ 8.

9. Δεδομένα και Βάσεις Δεδομένων του Δικαιούχου Άδειας
Χρήσης

Για να είναι σε θέση να βοηθήσει το Δικαιούχο Άδειας Χρήσης
στην απομόνωση της αιτίας ενός προβλήματος με το Πρόγραμμα, η
IBM μπορεί να ζητήσει από το Δικαιούχο Άδειας Χρήσης 1) να
επιτρέψει στην IBM την εξ αποστάσεως πρόσβαση στο σύστημα του
Δικαιούχου Άδειας Χρήσης ή 2) να στείλει πληροφορίες ή δεδομένα
συστήματος του Δικαιούχου Άδειας Χρήσης στην IBM. Όμως, η IBM δεν
είναι υποχρεωμένη να παρέχει τέτοια βοήθεια, εκτός εάν η IBM και
ο Δικαιούχος Άδειας Χρήσης προβούν στη σύναψη χωριστής
έγγραφης σύμβασης βάσει της οποίας η IBM να συμφωνεί να παρέχει στο
Δικαιούχο Άδειας Χρήσης τέτοιου είδους υποστή


r = 0,
    callback = function(args)
      local pythonPath = nil
      for _, client in ipairs(vim.lsp.get_clients{bufnr=0}) do
        if not vim.tbl_contains({"LspDetach", "BufLeave"}, args.event) and client.name:find("pyright") then
          pythonPath = client.settings.python.pythonPath
        end
      end

      for _, dapconf in ipairs(dap.configurations.python or {}) do
        dapconf.python = pythonPath
      end
    end
  })

  -- when black is installed use it for formatting with 'gq' operator
  if vim.fn.executable("black") == 1 then
    vim.opt_local.formatprg = "black --fast --quiet -"
  end

  -- /usr/share/nvim/runtime/ftplugin/python.vim unconditionally overwrites
  -- omnifunc, so we have to reset it >:(
  vim.opt_local.omnifunc = vim.opt_global.omnifunc:get()

  vim.opt_local.formatoptions:append{
    t = false, -- auto-wrap text using textwidth
    r = true,  -- auto insert comment leader after hitting <Enter>
    l = true   -- when a line was longer than 'textwidth' when insert started, do not auto-format it
  }

  vim.b.did_user_ftplugin = true
end


[0]
};

let newList = new ListNode(1);
newList.next = new ListNode(2);
newList.next.next = new ListNode(3);
// newList.next.next.next = new ListNode(4);
/*
 * Copyright © 2019 Lisk Foundation
 *
 * See the LICENSE file at the top-level directory of this distribution
 * for licensing information.
 *
 * Unless otherwise agreed in a custom licensing agreement with the Lisk Foundation,
 * no part of this software, including this file, may be copied, modified,
 * propagated, or distributed except according to the terms contained in the
 * LICENSE file.
 *
 * Removal or modification of this copyright notice is prohibited.
 */

import { Slots } from '../../src/slots';

describe('Slots', () => {
	const DEFAULT_BLOCK_TIME = 10;
	const DEFAULT_EPOCH_TIME = new Date(
		Date.UTC(2016, 4, 24, 17, 0, 0, 0),
	).toISOString();
	const TIME_AFTER_EPOCH = 10000;

	const slots = new Slots({
		epochTime: DEFAULT_EPOCH_TIME,
		interval: DEFAULT_BLOCK_TIME,
	});

	beforeEach(async () => {
		jest
			.spyOn(Date, 'now')
			.mockReturnValue(
				new Date(DEFAULT_EPOCH_TIME).getTime() + TIME_AFTER_EPOCH,
			);
	});

	describe('getEpochTime', () => {
		it('should return time after epoch in second', async () => {
			expect(slots.getEpochTime()).toBe(10);
		});
	});

	describe('getRealTime', () => {
		it('should return time after epoch in second', async () => {
			expect(slots.getRealTime(1000)).toBe(
				new Date(DEFAULT_EPOCH_TIME).getTime() + 1000 * 1000,
			);
		});
	});

	describe('getSlotNumber', () => {
		it('should return correct slot number from default epoch', async () => {
			expect(slots.getSlotNumber()).toBe(1);
		});

		it('should return correct slot number from input epoch', async () => {
			expect(slots.getSlotNumber(20)).toBe(2);
		});
	});

	describe('getSlotTime', () => {
		it('should return correct time corresponds to the slot', async () => {
			expect(slots.getSlotTime(2)).toBe(20);
		});
	});

	describe('getNextSlot', () => {
		it('should return correct next slot', async () => {
			expect(slots.getNextSlot()).toBe(2);
		});
	});

	describe('isWithinTimeslot', () => {
		it('should return true if the slot is within time', async () => {
			expect(slots.isWithinTimeslot(5, 55)).toBeTrue();
		});

		it('should return true if the slot is begining of the time', async () => {
			expect(slots.isWithinTimeslot(5, 50)).toBeTrue();
		});

		it('should return true if the slot is end of the time', async () => {
			expect(slots.isWithinTimeslot(5, 59)).toBeTrue();
		});

		it('should return false if the slot is out of the time', async () => {
			expect(slots.isWithinTimeslot(5, 49)).toBeFalse();
		});
	});
});
/**
 * colorful log
 *
 * @export
 * @class TestColorFullLog
 */
export class TestColorFullLog {
	/**
	 * capsule
	 * @description 打印一个 [ title | text ] 样式的信息
	 * @param {String} title title text
	 * @param {String} info info text
	 * @param {String} type style
	 */
	public capsule(title: any, info: any, type: any = 'primary'): void {


ult to the user.
        /// </summary>
        /// // <remarks>
        /// Supported content types are strings and <see cref="UIElement" /> instances.
        /// </remarks>
        public object TitleTooltip { get; private set; }

        /// <summary>
        /// Creates new instance of the <see cref="PeekResultDisplayInfo"/> class.
        /// </summary>
        public PeekResultDisplayInfo(string label, object labelTooltip, string title, string titleTooltip)
        {
            if (string.IsNullOrWhiteSpace(label))
            {
                throw new ArgumentException(nameof(label) + " cannot be null or white space");
            }
            if (string.IsNullOrWhiteSpace(title))
            {
                throw new ArgumentException(nameof(title) + " cannot be null or white space");
            }

            this.Label = label;
            this.LabelTooltip = labelTooltip;
            this.Title = title;
            this.TitleTooltip = titleTooltip;
        }

#pragma warning disable CA1063 // Implement IDisposable Correctly
        /// <summary>
        /// Disposes the <see cref="PeekResultDisplayInfo"/> instance.
        /// </summary>
        public void Dispose()
#pragma warning restore CA1063 // Implement IDisposable Correctly
        {
            GC.SuppressFinalize(this);
            // Nothing to dispose.
        }
    }
}


��으로 병합되게 될 수밖에 없네.$B$B전쟁노래 정찰대와의 전투에 참여해 최선을 다해 주게! 얼라이언스를 위해!",
    ["O"] = "전장 밖에 있는 얼라이언스 준장에게 전쟁노래 협곡 명예 훈장 3개를 가져가야 합니다.",
    ["T"] = "전쟁노래 협곡 전투",
  },
  [8401] = {
    ["D"] = "오크들이 숲을 파괴하는 것을 막기 위해 지금 은빛날개 파수대가 전쟁노래 정찰대와 교전 중에 있네. 은빛날개 파수대가 특별히 이 숲을 지키려는 이유는 그들이 자연을 사랑하기 때문만은 아니라네.$B$B이 숲은 대규모 공격으로부터 잿빛 골짜기를 방어할 수 있게 해 주는 전략적 장벽을 이루고 있네. 이 숲이 없다면 아스트라나르는 하루나 이틀 안에 불모의 땅으로 병합되게 될 수밖에 없네.$B$B전쟁노래 정찰대와의 전투에 참여해 최선을 다해 주게! 얼라이언스를 위해!",
    ["O"] = "전장 밖에 있는 얼라이언스 준장에게 전쟁노래 협곡 명예 훈장 3개를 가져가야 합니다.",
    ["T"] = "전쟁노래 협곡 전투",
  },
  [8402] = {
    ["D"] = "오크들이 숲을 파괴하는 것을 막기 위해 지금 은빛날개 파수대가 전쟁노래 정찰대와 교전 중일세. 은빛날개 파수대가 특별히 이 숲을 지키려는 이유는 자연을 사랑하기 때문만은 아니라네.$B$B이 숲은 대규모 공격으로부터 잿빛 골짜기를 방어할 수 있는 울타리를 이루고 있네. 이 숲이 없다면 아스


 running a
 * student/grader program. It will be transformed into a more 'refined'
 * @type {Output} to be returned to a backend.
 */
type Result = SourceResult | TimeoutResult

type TimeoutResult = {
  status: 'timeout'
}

/**
 * Runs all the unit tests provided by the @param event
 * @param event the AwsEvent from the Backend
 */
export const runAll = async (event: AwsEvent): Promise<Summary> => {
  require('./util.js')
  require('./list.js')
  require('./tree.js')
  if (event.library && event.library.external) {
    switch (event.library.external.name) {
      case 'TWO_DIM_RUNES': { }
      case 'THREE_DIM_RUNES': {
        require('./graphics/rune_library.js')
        break
      }
      case 'CURVES': {
        require('./graphics/curves_library.js')
        break
      }
      case 'SOUND': {
        require('./sound/sounds.js')
        break
      }
      case 'STREAMS': {
        require('./streams/streams.js')
        break
      }
    }
  }
  evaluateGlobals(event.library.globals)
  const promises: Promise<Output>[] = event.testCases.map(
    (testCase: TestCase) => run({
      library: event.library,
      prependProgram: event.prependProgram,
      studentProgram: event.studentProgram,
      postpendProgram: event.postpendProgram,
      testCase: testCase
    }))
  const results = await Promise.all(promises)
  const totalScore = results.reduce<number>(
    (total: number, result) => result.resultType === 'pass'
      ? total + result.score
      : total,
    0)
  return {
    totalScore: totalScore,
    results: results
  }
}

/**
 * Runs individual unit tests
 * @param unitTest the individual unit tests composed from runAll()
 */
export const run = async (unitTest: UnitTest): Promise<Output> => {
  const context = createContext<{}>(unitTest.library.chapter, unitTest.library.external.symbols)
  const program = unitTest.prependProgram + '\n'
    + unitTest.studentProgram + '\n'
    + unitTest.postpendProgram + '\n'
    + unitTest.testCase.program
  const result = await catchTimeouts(runInContext(
    program, context, { scheduler: 'preemptive' }
  ))
  if (result.status === 'finished') {
    const resultValue = JSON.stringify(result.value)
    return resultValue === unitTest.testCase.answer
      ? {
        resultType: 'pass',
        score: unitTest.testCase.score
      } as OutputPass
      : {
        resultType: 'fail',
        expected: unitTest.testCase.answer,
        actual: resultValue
      } as OutputFail
  } else if (result.status === 'error') {
    return parseError(context.errors,
      unitTest.prependProgram,
      unitTest.studentProgram,
      unitTest.postpendProgram,
      unitTest.testCase.program)
  } else {
    return {
      resultType: 'error',
      errors: [{ errorType: 'timeout' }]
    }
  }
}

/**
 * Given an array of pairs, where the first element is an identifier, and the
 * second is a string representation of a javascript value, evaluate the value
 * and bind it to the identifier, in the global frame. Used for Library.globals
 */
const evaluateGlobals = (nameValuePairs: Array<string[]>) => {
  nameValuePairs.map(nameValuePair => {
    const name = nameValuePair[0]
    const value = nameValuePair[1]
    global[name] = eval(value)
  })
}

/**
 * Takes in the promise that js


Handler();
			processIncomingEdges(edgeHandler, worklist);
			nesting--;
			// if (edgeHandler.reachedGlobal) {
			// return fixAllUpContexts(ret, allocAndContext, varContextAndUp);
			// } else {
			// assert upContextsSane(ret, allocAndContext, varContextAndUp);
			// return ret;
			// }
			return ret;
		} catch (CallSiteException e) {
			upContextCache.remove(varContextAndUp);
			throw e;
		}
	}

	protected CallingContextSet findVarContextsFromAlloc(
			AllocAndContext allocAndContext, VarNode targetVar) {

		CallingContextSet tmpSet = checkAllocAndContextCache(allocAndContext,
				targetVar);
		if (tmpSet != null) {
			return tmpSet;
		}
		CallingContextSet ret = new CallingContextSet();
		allocAndContextCache.get(allocAndContext).put(targetVar, ret);
		try {
			HashSet<VarAndContext> marked = new HashSet<VarAndContext>();
			Stack<VarAndContext> worklist = new Stack<VarAndContext>();
			Propagator<VarAndContext> p = new Propagator<VarAndContext>(marked,
					worklist);
			AllocNode alloc = allocAndContext.alloc;
			ImmutableStack<Integer> allocContext = allocAndContext.context;
			Node[] newBarNodes = pag.allocLookup(alloc);
			for (int i = 0; i < newBarNodes.length; i++) {
				VarNode v = (VarNode) newBarNodes[i];
				p.prop(new VarAndContext(v, allocContext));
			}
			while (!worklist.isEmpty()) {
				incrementNodesTraversed();
				VarAndContext curVarAndContext = worklist.pop();
				if (DEBUG) {
					debugPrint("looking at " + curVarAndContext);
				}
				VarNode curVar = curVarAndContext.var;
				ImmutableStack<Integer> curContext = curVarAndContext.context;
				if (curVar == targetVar) {
					ret.add(curContext);
				}
				// assign
				Collection<AssignEdge> assignEdges = filterAssigns(curVar,
						curContext, false, true);
				for (AssignEdge assignEdge : assignEdges) {
					VarNode dst = assignEdge.getDst();
					ImmutableStack<Integer> newContext = curContext;
					if (assignEdge.isReturnEdge()) {
						if (!curContext.isEmpty()) {
							if (!callEdgeInSCC(assignEdge)) {
								assert assignEdge.getCallSite().equals(
										curContext.peek()) : assignEdge + " "
										+ curContext;
								newContext = curContext.pop();
							} else {
								newContext = popRecursiveCallSites(curContext);
							}
						}
					} else if (assignEdge.isParamEdge()) {
						if (DEBUG)
							debugPrint("entering call site "
									+ assignEdge.getCallSite());
						// if (!isRecursive(curContext, assignEdge)) {
						// newContext = curContext.push(assignEdge
						// .getCallSite());
						// }
						newContext = pushWithRecursionCheck(curContext,
								assignEdge);
					}
					if (assignEdge.isReturnEdge() && curContext.isEmpty()
							&& csInfo.isVirtCall(assignEdge.getCallSite())) {
						Set<SootMethod> targets = refineCallSite(assignEdge
								.getCallSite(), newContext);
						if (!targets.contains(((LocalVarNode) assignEdge
								.getDst()).getMethod())) {
							continue;
						}
					}
					if (dst instanceof GlobalVarNode) {
						newContext = EMPTY_CALLSTACK;
					}
					p.prop(new VarAndContext(dst, newContext));
				}
				// putfield_bars
				Set<VarNode> matchTargets = vMatches.vMatchLookup(curVar);
				Node[] pfTargets = pag.storeLookup(curVar);
				for (int i = 0; i < pfTargets.length; i++) {
					FieldRefNode frNode = (FieldRefNode) pfTargets[i];
					final VarNode storeBase = frNode.getBase();
					SparkField field = fr


# Author: Drake Pearson (Drakerp2)
# Version: 1.0.0
# Release: 10/24/2024
# Git: https://github.com/drakerp2/Vtuber-Analytics-w-Holodex
# License: https://github.com/drakerp2/Vtuber-Analytics-w-Holodex/blob/main/LICENSE
# Credits:
#        Holodex License: https://docs.holodex.net/#section/LICENSE
#        Holodex Homepage: https://holodex.net/
#        Oshi: Runie Ruse (Phase Connect) https://www.youtube.com/@RunieRuse
#
# pip requirements:
#        inputimeout
#        requests
#
#! This script is used to link parse_streams and parse_channels
#! Will try and run at even intervals (by default 1:00, 1:15, 1:30, 1:45, 2:00, ...)
#! File writes are done all at once, so forcibly ending the program mid parse *should* be safe, however it is still disadvised
#
# options:
#    -d <filename>
#        the file to write debug info too
#        sys.stdout by default
#    -t <throwaway duration>
#        ignores streams that have been going for less than the duration (in minutes)
#        15 by default
#    -i <check interval>
#        the interval of time (in minutes) to wait in between pulling data from the Holodex server
#        inputs that are not factors of 60 will produce unexpected behavior, but will not crash or produce errors
#        15 by default
#    -k <api key location>
#        the file adress of the api key (a blank file with the key on the first line)
#        .\..\apikeys\holodex by default

from parse_streams import parse_streams
from parse_channels import parse_channels
from datetime import datetime
from datetime import timezone
import sys

from inputimeout import inputimeout

current_time = datetime.now(timezone.utc).replace(tzinfo=None)

debug_file = None
try: debug_file = open(sys.argv[sys.argv.index("-d")+1], 'w', encoding="utf-8")
except: debug_file = sys.stdout

# number of minutes the stream must have gone on for to be recorded
duration_throwaway = None
try: duration_throwaway = int(sys.argv[sys.argv.index("-t")+1])
except: duration_throwaway = 15

# a value that is not a factor of 60 will produce unintended behavior
check_interval = None
try: check_interval = int(sys.argv[sys.argv.index("-i")+1])
except: check_interval = 15

header = None
try: header = {"X-APIKEY": open(sys.argv[sys.argv.index("-k")+1], 'r').readline().rstrip('\n')}
except: header = {"X-APIKEY": open("./../apikeys/holodex", 'r').readline().rstrip('\n')}

while(True):
    current_time = datetime.now(timezone.utc).replace(tzinfo=None)

    print("time of parse:", str(current_time), file=debug_file)

    streams = parse_streams(current_time, duration_throwaway, header, debug_file)

    parse_channels(streams, current_time, header, debug_file)

    current_time = datetime.now(timezone.utc).replace(tzinfo=None)

    print("Finished at", current_time, file=debug_file)
    time_to_next_parse = check_interval - (current_time.minute % check_interval) - 1
    time_to_next_parse *= 60
    time_to_next_parse += 60 - current_time.second

    print("Time to next parse", time_to_next_parse, file=debug_file)

    try:
        inputimeout(prompt = "press enter to stop", timeout = time_to_next_parse)
        break
    except:
        continue


SafekeepingPlaceTypeAndIdentification1 tpAndId;
    @XmlElement(name = "Prtry")
    protected GenericIdentification85 prtry;

    /**
     * Gets the value of the id property.
     *
     * @return
     *     possible object is
     *     {@link SafekeepingPlaceTypeAndText15 }
     *
     */
    public SafekeepingPlaceTypeAndText15 getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     *
     * @param value
     *     allowed object is
     *     {@link SafekeepingPlaceTypeAndText15 }
     *
     */
    public SafekeepingPlaceFormat39Choice setId(SafekeepingPlaceTypeAndText15 value) {
        this.id = value;
        return this;
    }

    /**
     * Gets the value of the ctry property.
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getCtry() {
        return ctry;
    }

    /**
     * Sets the value of the ctry property.
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public SafekeepingPlaceFormat39Choice setCtry(String value) {
        this.ctry = value;
        return this;
    }

    /**
     * Gets the value of the tpAndId property.
     *
     * @return
     *     possible object is
     *     {@link SafekeepingPlaceTypeAndIdentification1 }
     *
     */
    public SafekeepingPlaceTypeAndIdentification1 getTpAndId() {
        return tpAndId;
    }

    /**
     * Sets the value of the tpAndId property.
     *
     * @param value
     *     allowed object is
     *     {@link SafekeepingPlaceTypeAndIdentification1 }
     *
     */
    public SafekeepingPlaceFormat39Choice setTpAndId(SafekeepingPlaceTypeAndIdentification1 value) {
        this.tpAndId = value;
        return this;
    }

    /**
     * Gets the value of the prtry property.
     *
     * @return
     *     possible object is
     *     {@link GenericIdentification85 }
     *
     */
    public GenericIdentification85 getPrtry() {
        return prtry;
    }

    /**
     * Sets the value of the prtry property.
     *
     * @param value
     *     allowed object is
     *     {@link GenericIdentification85 }
     *
     */
    public SafekeepingPlaceFormat39Choice setPrtry(GenericIdentification85 value) {
        this.prtry = value;
        return this;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
    }

    @Override
    public boolean equals(Object that) {
        return EqualsBuilder.reflectionEquals(this, that);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

}

package com.prowidesoftware.swift.model.mx.dic;

import jakarta.xml.bind.annotation.XmlEnum;
import jakarta.xml.bind.annotation.XmlType;

/**
 *
Java class for PendingProcessingReason1Code.
 *
 *
The following schema fragment specifies the expected content contained within this class.
 *
{@code
 * <simpleType name="PendingProcessingReason1Code">
 *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *     <enumeration value="ADEA"/>
 *     <enumeration value="CAIS"/>
 *     <enumeration value="DOCY"/>
 *     <enumeration value="NOFX"/>
 *     <enumeration value="BLOC"/>
 *     <enumeration value="MUNO"/>
 *     <enumeration value="GLOB"/>
 *     <enumeration value="YCOL"/>
 *     <enumeration value="COLL"/>
 *     <enum


) 2006, 2020 THALES GLOBAL SERVICES.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *    Thales - initial API and implementation
 *******************************************************************************/
package org.polarsys.capella.core.data.capellacore;

import org.polarsys.capella.common.data.modellingcore.AbstractConstraint;

/**
 *
 * A representation of the model object 'Constraint'.
 *
 *
 *
 * @see org.polarsys.capella.core.data.capellacore.CapellacorePackage#getConstraint()
 * @model annotation="http://www.polarsys.org/kitalpha/ecore/documentation description='A constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element\r\n[source:UML Superstructure v2.2]' usage\040guideline='n/a' used\040in\040levels='operational, system, logical, physical, epbs' usage\040examples='n/a' constraints='none' comment/notes='none' reference\040documentation='none'"
 *        annotation="http://www.polarsys.org/capella/MNoE/CapellaLike/Mapping UML/SysML\040semantic\040equivalences='' base\040metaclass\040in\040UML/SysML\040profile\040='uml::Constraint' explanation='none' constraints='none'"
 *        annotation="http://www.polarsys.org/capella/semantic"
 * @generated
 */
public interface Constraint extends NamedElement, AbstractConstraint {

} // Constraint
/*******************************************************************************
 * Copyright (c) 2006, 2020 THALES GLOBAL SERVICES.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *    Thales - initial API and implementation
 *******************************************************************************/
package org.polarsys.capella.core.data.capellacore;

/**
 *
 * A representation of the model object 'Feature'.
 *
 *
 *

 * The following features are supported:
 *

 *

 *
{@link org.polarsys.capella.core.data.capellacore.Feature#isIsAbstract Is Abstract}

 *
{@link org.polarsys.capella.core.data.capellacore.Feature#isIsStatic Is Static}

 *
{@link org.polarsys.capella.core.data.capellacore.Feature#getVisibility Visibility}

 *

 *
 * @see org.polarsys.capella.core.data.capellacore.CapellacorePackage#getFeature()
 * @model abstract="true"
 *        annotation="http://www.polarsys.org/capella/2007/BusinessInformation Label='Feature'"
 *        annotation="http://www.polarsys.org/kitalpha/ecore/documentation description='A feature declares a behavioral or structural characteristic of instances of classifiers.\r\n[source:UML Superstructure v2.2]' usage\040guideline='n/a (abstract)' used\040in\040levels='operational, system, logical, physical' usage\040examples='n/a' constraints='none' comment/notes='none'


p r8, #0
	beq _0231241C
	ldr r2, _023125F4 ; =0x00000DAC
	mov r0, sl
	mov r1, sb
	bl LogMessageByIdWithPopupCheckUserTarget
_0231241C:
	mov r0, #0
	ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02312424:
	mov r0, sb
	bl GetTileAtEntity
	ldrh r0, [r0]
	and r0, r0, #3
	cmp r0, #2
	bne _0231247C
	ldr r0, _023125F8 ; =DUNGEON_PTR
	ldr r1, _023125FC ; =SECONDARY_TERRAIN_TYPES
	ldr r0, [r0]
	add r0, r0, #0x4000
#ifdef JAPAN
	ldrsh r0, [r0, #0x30]
#else
	ldrsh r0, [r0, #0xd4]
#endif
	ldrb r0, [r1, r0]
	cmp r0, #1
	beq _0231247C
	cmp r8, #0
	beq _02312474
	ldr r2, _02312600 ; =0x00000DB9
	mov r0, sl
	mov r1, sb
	bl LogMessageByIdWithPopupCheckUserTarget
_02312474:
	mov r0, #0
	ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0231247C:
	ldrb r0, [sp, #0x28]
	cmp r0, #0
	movne r0, #1
	ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
	ldrb r0, [r7, #0xbf]
	mov r5, #1
	cmp r0, #1
	beq _023124F4
	ldr r1, _02312604 ; =ov10_022C4874
	mov r0, sb
	mov r2, r5
	strb r5, [r7, #0xbf]
	bl CalcStatusDuration
	add r0, r0, #1
	strb r0, [r7, #0xc0]
	mov r5, #0
	strb r5, [r7, #0xc1]
	strb r5, [r7, #0xc2]
	cmp r4, #0
	beq _023124D4
	mov r0, sb
	bl ov29_022E4294
_023124D4:
	ldr r2, _02312608 ; =0x00000D1C
	mov r0, sl
	mov r1, sb
	bl LogMessageByIdWithPopupCheckUserTarget
	mov r0, sl
	mov r1, sb
	bl TryActivateQuickFeet
	b _02312504
_023124F4:
	ldr r2, _0231260C ; =0x00000D1D
	mov r0, sl
	mov r1, sb
	bl LogMessageByIdWithPopupCheckUserTarget
_02312504:
	mov r0, sb
	bl UpdateStatusIconFlags
	mov r0, sb
	mov r1, #0x19
	bl AbilityIsActiveVeneer
	cmp r0, #0
	beq _023125E8
	cmp r5, #0
	bne _023125E8
	mov r5, #0
	ldr fp, _02312610 ; =DIRECTIONS_XY
	mov r4, r5
_02312534:
	mov r1, r4, lsl #2
	add r0, fp, r4, lsl #2
	ldrsh r3, [fp, r1]
	ldrsh r1, [r0, #2]
	ldrsh r0, [sb, #4]
	ldrsh r2, [sb, #6]
	add r0, r0, r3
	add r1, r2, r1
	bl GetTile


TCCQWpsb8eDzBvs53IySWulktNnYkFxcNEpAifANbflhHp7KTw9TeFE4i94DvX3cyLRDc44CRjieDECAdXm93O347adgGZwnuNhJZNRbKtzc1wBHfXJXS/gEtfDWj6v2hYWdJKy20pAB1tAsajYTOcEtIqCImAf92tzaclrBA5bCTjAjkC5rNoKBR0BO6wEGOwIVCqqbX5eR4BhVYiyduVSOQXZLJUnJ8nw+Uj8zIyGBqrMzOgIyFsJ+MGOAFb7vauL/JFIVURldla3NH+12oKEjoe9IyPUmk5TSypFzWNjRIiCxnhlJeAh9+tQXx9tj8WqFVFUwG09PbRzYEBHwCMrAaK8vWD92qJRxRbs7ORO/hp8tvsX3OJ4KI2Pq7aJCa6Am04/I5EHD9w8FONx+jU4WK3/q7kc/R4epsLoKGdy0SNO/XMeLXrCLfJI7nY9zE1NWIKPWwNErd4v9Lv1hMvgNHD1ai4ucidfkX1AkdsTfgEnZSS8jp/yHvFB92b0SXazcQ+TPwbHwLv1Xs1EyK6AC+CpxsRTsvcTOHYq3JtRbRwHUbmfLWCPtOfAN9n5Pgfvta9m/+3t+I8AAwBkCMrn+ncNlgAAAABJRU5ErkJggg==');
  background-size: 16px 16px;
}

.connection.composed-task-graph-transition {
  stroke-dasharray: 1, 5;
}

.connection.primary-output-from-app {
  stroke-dasharray: 1, 0;
}

.connection.tapped-output-from-app {
  stroke-dasharray: 5, 2;
}

.connection {
  stroke: $navy-8;
}

.marker-source {
  stroke: #AAAAAA;
  fill: #AAAAAA;
}

.marker-target {
  stroke: #AAAAAA;
  fill: #AAAAAA;
}

// Link Tools handle shows up on a link in Composed Task editor
.link-tool.composed-task .tool-options {
  display: block;
}

.link-tool.create-stream .tool-options {
  display: block;
}

.flo-port-label {
  fill: black;
}

.flo-port-label-bg {
  fill: lightblue;
  stroke: lightblue;
  stroke-width: 7px;
}

.joint-link:hover .link-channel-label {
  opacity: 1;
}

.link-channel-label {
  opacity: 0;
}

@keyframes flash-stroke-width {
  0% {
    stroke-width: 1;
  }
  50% {
    stroke-width: 4;
  }
  100% {
    stroke-width: 1;
  }
}

// Stream modules DnD shape animation
//.dnd-source-feedback .stream-module .box {
//  animation: flash-stroke-width 2s linear infinite;
//}
//
//.dnd-target-feedback .stream-module .box {
//  animation: flash-stroke-width 2s linear infinite;
//}
//
//// Stream modules DnD shape animation
//.dnd-source-feedback .destination .box {
//  animation: flash-stroke-width 2s linear infinite;
//}
//
//.dnd-target-feedback .destination .box {
//  animation: flash-stroke-width 2s linear infinite;
//}
//
//// Composed Task DnD shape animation
//.dnd-source-feedback .composed-task .border {
//  animation: flash-stroke-width 2s linear infinite;
//}
//
//.dnd-target-feedback .composed-task .border {
//  animation: flash-stroke-width 2s linear infinite;
//}
//
//// Ports D


.id.design_bottom_sheet)
                ?.setBackgroundColor(Color.TRANSPARENT)
        }
    }
}

/**
 * 设置列表对话框的分割线
 * 分割线的间距由Drawable来控制
 */
fun AlertDialog.setDivider(@DrawableRes divider: Int) {
    listView?.apply {
        overscrollFooter = ColorDrawable(Color.TRANSPARENT)
        this.divider = ContextCompat.getDrawable(context, divider)
    }
}

/**
 * 下拉菜单
 */
fun View.pullMenu(list: List<String>): ListPopupWindow {
    return ListPopupWindow(context).apply {
        anchorView = this@pullMenu
        setAdapter(ArrayAdapter(context, android.R.layout.simple_list_item_1, list))
    }
}

fun View.pullMenu(vararg list: String): ListPopupWindow {
    return ListPopupWindow(context).apply {
        anchorView = this@pullMenu
        setAdapter(ArrayAdapter(context, android.R.layout.simple_list_item_1, list))
    }
}

/**
 * 警告对话框
 */
fun Activity.alert(block: AlertDialog.Builder.() -> Unit): AlertDialog {
    val builder = AlertDialog.Builder(this)
    builder.block()
    return builder.show()
}

fun AlertDialog.Builder.yes(
    text: String,
    block: AlertDialog.() -> Unit = {}
) {
    setPositiveButton(text) { dialogInterface, _ -> (dialogInterface as AlertDialog).block() }
}

fun AlertDialog.Builder.yes(@StringRes text: Int, block: AlertDialog.() -> Unit = {}) {
    setPositiveButton(text) { dialogInterface, _ -> (dialogInterface as AlertDialog).block() }
}

fun AlertDialog.Builder.medium(
    text: String,
    block: AlertDialog.() -> Unit = {}
) {
    setNeutralButton(text) { dialogInterface, _ -> (dialogInterface as AlertDialog).block() }
}

fun AlertDialog.Builder.medium(@StringRes text: Int, block: AlertDialog.() -> Unit = {}) {
    setNeutralButton(text) { dialogInterface, _ -> (dialogInterface as AlertDialog).block() }
}

fun AlertDialog.Builder.no(
    text: String,
    block: AlertDialog.() -> Unit = {}
) {
    setNegativeButton(text) { dialogInterface, _ -> (dialogInterface as AlertDialog).block() }
}

fun AlertDialog.Builder.no(@StringRes text: Int, block: AlertDialog.() -> Unit = {}) {
    setNegativeButton(text) { dialogInterface, _ -> (dialogInterface as AlertDialog).block() }
}

/**
 * 进度对话框
 * @receiver Activity
 * @param msg String?
 * @param block [@kotlin.ExtensionFunctionType] Function1<ProgressDialog, Unit>
 */
fun Activity.progress(msg: String? = null, block: ProgressDialog.() -> Unit = {}): ProgressDialog {
    return ProgressDialog(this).apply {
        setMessage(msg)
        block()
        show()
    }
}package com.drake.serialize.serialize.delegate

import com.drake.serialize.serialize.Serialize
import com.drake.serialize.serialize.annotation.SerializeConfig
import com.drake.serialize.serialize.deserialize
import com.drake.serialize.serialize.serialize
import com.tencent.mmkv.MMK


' +
        'mm|' +
        'n|' +
        'nc|' +
        'ng|' +
        'nch|' +
        'nn|' +
        'p|' +
        'r|' +
        'rc|' +
        'rn|' +
        'rs|' +
        'rv|' +
        's|' +
        'sc|' +
        'sk|' +
        'sl|' +
        'squ|' +
        'ss|' +
        'th|' +
        'v|' +
        'y|' +
        'z' +
        ')' +
        r'ed$' +
        ')|' +
        '(' +
        '[aeiouy]' +
        '(' +
        'b|' +
        'ch|' +
        'd|' +
        'f|' +
        'gh|' +
        'gn|' +
        'k|' +
        'l|' +
        'lch|' +
        'll|' +
        'lv|' +
        'm|' +
        'mm|' +
        'n|' +
        'nch|' +
        'nn|' +
        'p|' +
        'r|' +
        'rn|' +
        'rs|' +
        'rv|' +
        's|' +
        'sc|' +
        'sk|' +
        'sl|' +
        'squ|' +
        'ss|' +
        'st|' +
        't|' +
        'th|' +
        'v|' +
        'y' +
        ')' +
        r'es$' +
        ')',
    caseSensitive: false);

/// Part 2 of expressions of occurrences which normally would
/// be counted as two syllables, but should be counted as one.
final RegExp monosyllabic2 = RegExp(
    '[aeiouy]' +
        '(' +
        'b|' +
        'c|' +
        'ch|' +
        'd|' +
        'dg|' +
        'f|' +
        'g|' +
        'gh|' +
        'gn|' +
        'k|' +
        'l|' +
        'll|' +
        'lv|' +
        'm|' +
        'mm|' +
        'n|' +
        'nc|' +
        'ng|' +
        'nn|' +
        'p|' +
        'r|' +
        'rc|' +
        'rn|' +
        'rs|' +
        'rv|' +
        's|' +
        'sc|' +
        'sk|' +
        'sl|' +
        'squ|' +
        'ss|' +
        'st|' +
        't|' +
        'th|' +
        'v|' +
        'y|' +
        'z' +
        ')' +
        r'e$',
    caseSensitive: false);
import 'dart:html';
import 'dart:math' as Math;
import 'dart:async';
import 'dart:convert';

//Variaveis globais
var firePixelArray = [];
var fireColorsPalette = [['7,7,7'],['31,7,7'],['47,15,7'],['71,15,7'],['87,23,7'],['103,31,7'],['119,31,7'],['143,39,7'],['159,47,7'],['175,63,7'],['191,71,7'],['199,71,7'],['223,79,7'],['223,87,7'],['223,87,7'],['215,95,7'],['215,95,7'],['215,103,15'],['207,111,15'],['207,119,15'],['207,127,15'],['207,135,23'],['199,135,23'],['199,143,23'],['199,151,31'],['191,159,31'],['191,159,31'],['191,167,39'],['191,167,39'],['191,175,47'],['183,175,47'],['183,183,47'],['183,183,55'],['207,207,111'],['223,223,159'],['239,239,199'],['255,255,255']];
int fireWidth = 50;
int fireHeight = 50;
var debug = false;

//Funcao que inicializa o codigo
void main(){

    createFireDataStructure();
    createFireSource();
    renderFire();

    runfire();
}

void createFireDataStructure(){

    //multiplicando a altura pela largura para criar a tabela
    var numberOfPixels = f


B) (y1A - y0A)
         * If (dxA == x1A - x0A), etc...
         * 0 == (x0A - x0B) * dyA * dyB
         *    + (y - y0A) * dxA * dyB
         *    - (y - y0B) * dxB * dyA
         * 0 == (x0A - x0B) * dyA * dyB
         *    + y * dxA * dyB - y0A * dxA * dyB
         *    - y * dxB * dyA + y0B * dxB * dyA
         * 0 == (x0A - x0B) * dyA * dyB
         *    + y * dxA * dyB - y * dxB * dyA
         *    - y0A * dxA * dyB + y0B * dxB * dyA
         * 0 == (x0A - x0B) * dyA * dyB
         *    + y * (dxA * dyB - dxB * dyA)
         *    - y0A * dxA * dyB + y0B * dxB * dyA
         * y == ((x0A - x0B) * dyA * dyB
         *       - y0A * dxA * dyB + y0B * dxB * dyA)
         *    / (-(dxA * dyB - dxB * dyA))
         * y == ((x0A - x0B) * dyA * dyB
         *       - y0A * dxA * dyB + y0B * dxB * dyA)
         *    / (dxB * dyA - dxA * dyB)
         */
        double dxa = x1 - x0;
        double dya = y1 - y0;
        double dxb = c1.x1 - c1.x0;
        double dyb = c1.y1 - c1.y0;
        double denom = dxb * dya - dxa * dyb;
        double y;
        if (denom != 0) {
            double num = ((x0 - c1.x0) * dya * dyb
                          - y0 * dxa * dyb
                          + c1.y0 * dxb * dya);
            y = num / denom;
            if (y <= yrange[0]) {
                // intersection is above us
                // Use bottom-most common y for comparison
                y = Math.min(y1, c1.y1);
            } else {
                // intersection is below the top of our range
                if (y < yrange[1]) {
                    // If intersection is in our range, adjust valid range
                    yrange[1] = y;
                }
                // Use top-most common y for comparison
                y = Math.max(y0, c1.y0);
            }
        } else {
            // lines are parallel, choose any common y for comparison
            // Note - prefer an endpoint for speed of calculating the X
            // (see shortcuts in Order1.XforY())
            y = Math.max(y0, c1.y0);
        }
        return orderof(XforY(y), c1.XforY(y));
    }

    public int getSegment(double coords[]) {
        if (direction == INCREASING) {
            coords[0] = x1;
            coords[1] = y1;
        } else {
            coords[0] = x0;
            coords[1] = y0;
        }
        return PathIterator.SEG_LINETO;
    }
}
/*
 * Copyright 1998-2003 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License versi


 = mm_items.get_items("image", ImageProcessorItems)

        image_size = images.get_image_size(item_idx)
        num_image_tokens = self.info.get_num_image_tokens(
            image_width=image_size.width,
            image_height=image_size.height,
        )

        return [image_token_id] * num_image_tokens

    return [
        PromptReplacement(
            modality="image",
            target=[image_token_id],
            replacement=get_replacement,
        ),
    ]
```

:::

:::{tab-item} Handling additional tokens: Fuyu
:sync: fuyu

Recall the layout of feature tokens from Step 2:

```
|SPEAKER||SPEAKER|...|SPEAKER||NEWLINE|
|SPEAKER||SPEAKER|...|SPEAKER||NEWLINE|
...
|SPEAKER||SPEAKER|...|SPEAKER||NEWLINE|
```

We define a helper function to return `ncols` and `nrows` directly:

```python
def get_image_feature_grid_size(
    self,
    *,
    image_width: int,
    image_height: int,
) -> tuple[int, int]:
    image_processor = self.get_image_processor()
    target_width = image_processor.size["width"]
    target_height = image_processor.size["height"]
    patch_width = image_processor.patch_size["width"]
    patch_height = image_processor.patch_size["height"]

    if not (image_width <= target_width and image_height <= target_height):
        height_scale_factor = target_height / image_height
        width_scale_factor = target_width / image_width
        optimal_scale_factor = min(height_scale_factor, width_scale_factor)

        image_height = int(image_height * optimal_scale_factor)
        image_width = int(image_width * optimal_scale_factor)

    ncols = math.ceil(image_width / patch_width)
    nrows = math.ceil(image_height / patch_height)
    return ncols, nrows
```

Based on this, we can initially define our replacement tokens as:

```python
def get_replacement(item_idx: int):
    images = mm_items.get_items("image", ImageProcessorItems)
    image_size = images.get_image_size(item_idx)

    ncols, nrows = self.info.get_image_feature_grid_size(
        image_width=image_size.width,
        image_height=image_size.height,
    )

    # `_IMAGE_TOKEN_ID` corresponds to `|SPEAKER|`
    # `_NEWLINE_TOKEN_ID` corresponds to `|NEWLINE|`
    return ([_IMAGE_TOKEN_ID] * ncols + [_NEWLINE_TOKEN_ID]) * nrows
```

However, this is not entirely correct. After `FuyuImageProcessor.preprocess_with_tokenizer_info` is called,
a BOS token (`<s>`) is also added to the promopt:

```python
# https://github.com/huggingface/transformers/blob/v4.48.3/src/transformers/models/fuyu/processing_fuyu.py#L417-L435
model_image_input = self.image_processor.preprocess_with_tokenizer_info(
    image_input=tensor_batch_images,
    image_present=image_present,
    image_unpadded_h=image_unpadded_heights,
    image_unpadded_w=image_unpadded_widths,
    image_placeholder_id=image_placeholder_id,
    image_newline_id=image_newline_id,
    variable_sized=True,
)
prompt_tokens, prompts_length = _tokenize_prompts_with_image_and_batch(
    tokenizer=self.tokenizer,
    prompts=prompts,
    scale_factors=scale_factors,
    max_tokens_to_generate=self.max_tokens_to


ate(Ref ref) {
    return geminiTools(ref);
  }

  /// {@macro riverpod.override_with_value}
  Override overrideWithValue(GeminiTools value) {
    return $ProviderOverride(
      origin: this,
      providerOverride: $SyncValueProvider<GeminiTools>(value),
    );
  }
}

String _$geminiToolsHash() => r'f61ae618aa3a6be31184f91b78b504b695ef0851';
// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'gemini.dart';

// **************************************************************************
// RiverpodGenerator
// **************************************************************************

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning

@ProviderFor(firebaseApp)
const firebaseAppProvider = FirebaseAppProvider._();

final class FirebaseAppProvider
    extends
        $FunctionalProvider<
          AsyncValue<FirebaseApp>,
          FirebaseApp,
          FutureOr<FirebaseApp>
        >
    with $FutureModifier<FirebaseApp>, $FutureProvider<FirebaseApp> {
  const FirebaseAppProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'firebaseAppProvider',
        isAutoDispose: false,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$firebaseAppHash();

  @$internal
  @override
  $FutureProviderElement<FirebaseApp> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<FirebaseApp> create(Ref ref) {
    return firebaseApp(ref);
  }
}

String _$firebaseAppHash() => r'7663fd816ebac4287db82a095568ee3dc843da9a';

@ProviderFor(geminiModel)
const geminiModelProvider = GeminiModelProvider._();

final class GeminiModelProvider
    extends
        $FunctionalProvider<
          AsyncValue<GenerativeModel>,
          GenerativeModel,
          FutureOr<GenerativeModel>
        >
    with $FutureModifier<GenerativeModel>, $FutureProvider<GenerativeModel> {
  const GeminiModelProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'geminiModelProvider',
        isAutoDispose: false,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$geminiModelHash();

  @$internal
  @override
  $FutureProviderElement<GenerativeModel> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<GenerativeModel> create(Ref ref) {
    return geminiModel(ref);
  }
}

String _$geminiModelHash() => r'd4aaf971dab76dd9ab7cce803a435f06b4780aaf';

@ProviderFor(chatSession)
const chatSessionProvider = ChatSessionProvider._();

final class ChatSessionProvider
    extends
        $FunctionalProvider<
          AsyncValue<ChatSession>,
          ChatSession,
          FutureOr<ChatSession>
        >
    with $FutureModifier<ChatSession>, $FutureProvider<ChatSession> {
  const ChatSessionProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'chatSessionProvider',
        isAutoDispose: false,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$chatSessionHash();

  @$internal
  @override
  $FutureProviderElement<ChatSession> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<ChatSession>


framework.context.SessionContext;
import org.polarsys.capella.test.framework.model.GenericModel;

public class CreateComponentPort extends XABDiagramsProject {

  @Override
  public void test() throws Exception {
    Session session = getSession(getRequiredTestModel());
    SessionContext context = new SessionContext(session);

    testOnXAB(context, SA__SAB_DIAGRAM, BlockArchitectureExt.Type.SA,
        SA__SAB_A1);
    testOnXAB(context, LA__LAB_DIAGRAM, BlockArchitectureExt.Type.LA,
        LA__LAB_A1);
    testOnXAB(context, PA__PAB_DIAGRAM, BlockArchitectureExt.Type.PA,
        PA__PAB_COMPONENT_PC3, PA__PAB_COMPONENT_PC3_1,
        PA__PAB_PHYSICAL_ACTOR1);
  }

  public void testOnXAB(SessionContext context, String diagramName, BlockArchitectureExt.Type type,
      String... containerIds) {
    XABDiagram diagram = XABDiagram.openDiagram(context, diagramName, type);

    for (String containerId : containerIds) {
      diagram.createComponentPort(GenericModel.COMPONENT_PORT_1, ComponentPortType.IN_FLOW_PORT, containerId);
      diagram.createComponentPort(GenericModel.COMPONENT_PORT_2, ComponentPortType.OUT_FLOW_PORT, containerId);
      diagram.createComponentPort(GenericModel.COMPONENT_PORT_3, ComponentPortType.IN_OUT_FLOW_PORT, containerId);
      diagram.createComponentPort(GenericModel.COMPONENT_PORT_4, ComponentPortType.STANDARD_PORT, containerId);
    }
  }

}
/*
 * Copyright (c) 2015, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package org.jvnet.hk2.testing.junit.annotations;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import org.jvnet.hk2.testing.junit.HK2Runner; // for javadoc only

/**
 * A set of implementations that should be excluded from being added to testLocator.  This list is
 * NOT checked against the classes list (the explicit include wins), but instead against the set of
 * things coming from packages or from the inhabitant files. This
 * annotation must be placed on a class that extends {@link HK2Runner}
 *
 * @author jwells
 *
 */
@Documented
@Inherited
@Retention(RUNTIME)
@Target( TYPE )
public @interface Excludes {
    /**
     * The fully qualified class names of any service implementations that
     * should NOT automatically be added via package scanning or from
     * inhabitant files read
     *
     * @return A list of fully qualified class implementations that should
     * not be added testLocator
     */
    public String[] value();
}
/*******************************************************************************
 * Copyright (c) 2019, 2020 THALES GLOBAL SERVICES.
 *


ew System.EventHandler(this.HslVacuumPump1_Click);
            //
            // hslVacuumPump1
            //
            this.hslVacuumPump1.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(0)))));
            this.hslVacuumPump1.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(76)))), ((int)(((byte)(76)))));
            this.hslVacuumPump1.Color3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
            this.hslVacuumPump1.Color4 = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(151)))), ((int)(((byte)(151)))));
            this.hslVacuumPump1.Location = new System.Drawing.Point(43, 30);
            this.hslVacuumPump1.Name = "hslVacuumPump1";
            this.hslVacuumPump1.Size = new System.Drawing.Size(114, 162);
            this.hslVacuumPump1.TabIndex = 0;
            this.hslVacuumPump1.Text = "hslVacuumPump1";
            this.hslVacuumPump1.Click += new System.EventHandler(this.HslVacuumPump1_Click);
            //
            // label6
            //
            this.label6.AutoSize = true;
            this.label6.Location = new System.Drawing.Point(151, 622);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(53, 12);
            this.label6.TabIndex = 11;
            this.label6.Text = "横向摆放";
            //
            // hslVacuumPump7
            //
            this.hslVacuumPump7.Color1 = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(151)))), ((int)(((byte)(0)))));
            this.hslVacuumPump7.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(76)))), ((int)(((byte)(76)))));
            this.hslVacuumPump7.Color3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
            this.hslVacuumPump7.Color4 = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(151)))), ((int)(((byte)(151)))));
            this.hslVacuumPump7.Location = new System.Drawing.Point(419, 246);
            this.hslVacuumPump7.Name = "hslVacuumPump7";
            this.hslVacuumPump7.Size = new System.Drawing.Size(217, 318);
            this.hslVacuumPump7.TabIndex = 12;
            this.hslVacuumPump7.Text = "hslVacuumPump7";
            this.hslVacuumPump7.Click += new System.EventHandler(this.HslVacuumPump1_Click);
            //
            // label7
            //
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(473, 596);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(101, 12);
            this.label7.TabIndex =


.stack;
          float num1 = 1f;
          if (this.type == 72)
            num1 = 100f;
          if (this.type == 73)
            num1 = 10000f;
          if (this.type == 74)
            num1 = 1000000f;
          float num2 = stack * num1;
          float extraValue = (float) Main.npc[index1].extraValue;
          int index2 = Main.npc[index1].realLife;
          if (index2 >= 0 && Main.npc[index2].active)
            extraValue = (float) Main.npc[index2].extraValue;
          else
            index2 = -1;
          if ((double) extraValue < (double) num2 && (double) extraValue + (double) num2 < 999000000.0)
          {
            Rectangle rectangle2 = new Rectangle((int) Main.npc[index1].position.X, (int) Main.npc[index1].position.Y, Main.npc[index1].width, Main.npc[index1].height);
            if (rectangle1.Intersects(rectangle2))
            {
              float num3 = (float) Main.rand.Next(50, 76) * 0.01f;
              if (this.type == 71)
                num3 += (float) Main.rand.Next(51) * 0.01f;
              if (this.type == 72)
                num3 += (float) Main.rand.Next(26) * 0.01f;
              if ((double) num3 > 1.0)
                num3 = 1f;
              int num4 = (int) ((double) this.stack * (double) num3);
              if (num4 < 1)
                num4 = 1;
              if (num4 > this.stack)
                num4 = this.stack;
              this.stack -= num4;
              int num5 = (int) ((double) num4 * (double) num1);
              int number = index1;
              if (index2 >= 0)
                number = index2;
              Main.npc[number].extraValue += num5;
              if (Main.netMode == 0)
                Main.npc[number].moneyPing(this.position);
              else
                NetMessage.SendData(92, -1, -1, (NetworkText) null, number, (float) num5, this.position.X, this.position.Y, 0, 0, 0);
              if (this.stack <= 0)
              {
                this.SetDefaults(0);
                this.active = false;
              }
              NetMessage.SendData(21, -1, -1, (NetworkText) null, i, 0.0f, 0.0f, 0.0f, 0, 0, 0);
            }
          }
        }
      }
    }

    private void CombineWithNearbyItems(int myItemIndex)
    {
      if (!this.CanCombineStackInWorld() || this.stack >= this.maxStack)
        return;
      for (int number = myItemIndex + 1; number < 400; ++number)
      {
        Item obj = Main.item[number];
        if (obj.active && obj.type == this.type && (obj.stack > 0 && obj.playerIndexTheItemIsReservedFor == this.playerIndexTheItemIsReservedFor))
        {
          double num1 = (double) Math.Abs((float) ((double) this.position.X + (double) (this.width / 2) - ((double) obj.position.X + (double) (obj.width / 2)))) + (double) Math.Abs((float) ((double) this.position.Y + (double) (this.height / 2) - ((double) obj.position.Y + (double) (obj.height / 2))));
          int num2 = 30;
          if ((double) Item.numberOfNewItems > 40.0)
            num2 *= 2;


gisterLongName for Register {}

        pub mod DDB0 {
            use crate::mmio::bitopts::FieldValue;

            pub const SET: FieldValue<u8, super::Register> =
                FieldValue::<u8, super::Register>::new(bitmask!(1), 0, bitmask!(1));

            pub const CLEAR: FieldValue<u8, super::Register> =
                FieldValue::<u8, super::Register>::new(bitmask!(1), 0, 0);
        }
    }

    pub mod PORTB {
        pub struct Register {}

        impl super::RegisterLongName for Register {}

        pub mod PORTB0 {
            use crate::mmio::bitopts::FieldValue;

            pub const SET: FieldValue<u8, super::Register> =
                FieldValue::<u8, super::Register>::new(bitmask!(1), 0, bitmask!(1));

            pub const CLEAR: FieldValue<u8, super::Register> =
                FieldValue::<u8, super::Register>::new(bitmask!(1), 0, 0);
        }
    }

    pub const GPIOB: StaticRef<GpioBRegisters> =
        unsafe { StaticRef::new(0x23 as *const GpioBRegisters) };
}
<reponame>planet0104/breakout<filename>src/brick.rs
use super::prelude::*;

pub struct Brick {
    handle: ColliderHandle,
    region: VRect,
    anim: Animation,
}

impl Brick {
    pub fn new(region: VRect, anim: Animation, world: Rc<RefCell<World<f64>>>) -> Brick {
        let cuboid = ShapeHandle::new(Cuboid::new(Vector2::new(region.x_radius, region.y_radius)));

        let collider_handle = ColliderDesc::new(cuboid)
            .translation(Vector2::new(region.x, region.y))
            .material(MaterialHandle::new(BasicMaterial::new(1.0, 0.0)))
            .collision_groups(CollisionGroups::new().with_membership(&[0]))
            .density(1.0)
            .build(&mut *world.borrow_mut())
            .handle();

        // let rigid_cuboid_handle = RigidBodyDesc::new()
        //     .status(BodyStatus::Static)
        //     .collider(&collider_cuboid)
        //     .build(&mut *world.borrow_mut()).handle();

        Brick {
            handle: collider_handle,
            region: region,
            anim: anim,
        }
    }

    pub fn dying(&self) -> bool {
        self.anim.is_active()
    }

    pub fn handle(&self) -> &ColliderHandle {
        &self.handle
    }
}

impl Brick {
    pub fn update(&mut self) -> SpriteAction {
        self.anim.update();
        if self.anim.is_end() {
            SpriteAction::Kill
        } else {
            SpriteAction::None
        }
    }

    pub fn draw(&mut self, g: &mut Graphics) {
        self.anim.draw(
            None,
            g,
            [
                self.region.l(),
                WINDOW_HEIGHT - self.region.t(),
                self.region.w(),
                self.region.h(),
            ],
        );
    }

    pub fn kill(&mut self) {
        self.anim.start();
    }
}
use chronicle_common::actor;
use chronicle_cql::{
    compression::UNCOMPRESSED,
    frame::{
        consistency::Consistency,
        decoder::{
            Decoder,
            Frame,
        },
        header,
        header::Header,
        query::Query,
        queryflags,
    },
    rows,
    statements::SELECT_TX_QUERY,


	$f29, $f30, $f31
	mul.ps	$f29, $f29, $f30
	mul.ps	$f29, $f30

	neg.s	$f0, $f1
	neg.s	$f30, $f31
	neg.s	$f2, $f2
	neg.s	$f2
	neg.d	$f0, $f1
	neg.d	$f30, $f31
	neg.d	$f2, $f2
	neg.d	$f2
	neg.ps	$f0, $f1
	neg.ps	$f30, $f31
	neg.ps	$f2, $f2
	neg.ps	$f2

	nmadd.d	$f0, $f1, $f2, $f3
	nmadd.d	$f28, $f29, $f30, $f31
	nmadd.s	$f0, $f1, $f2, $f3
	nmadd.s	$f28, $f29, $f30, $f31
	nmadd.ps	$f0, $f1, $f2, $f3
	nmadd.ps	$f28, $f29, $f30, $f31

	nmsub.d	$f0, $f1, $f2, $f3
	nmsub.d	$f28, $f29, $f30, $f31
	nmsub.s	$f0, $f1, $f2, $f3
	nmsub.s	$f28, $f29, $f30, $f31
	nmsub.ps	$f0, $f1, $f2, $f3
	nmsub.ps	$f28, $f29, $f30, $f31

	pll.ps	$f0, $f1, $f2
	pll.ps	$f29, $f30, $f31
	pll.ps	$f29, $f29, $f30
	pll.ps	$f29, $f30
	plu.ps	$f0, $f1, $f2
	plu.ps	$f29, $f30, $f31
	plu.ps	$f29, $f29, $f30
	plu.ps	$f29, $f30
	pul.ps	$f0, $f1, $f2
	pul.ps	$f29, $f30, $f31
	pul.ps	$f29, $f29, $f30
	pul.ps	$f29, $f30
	puu.ps	$f0, $f1, $f2
	puu.ps	$f29, $f30, $f31
	puu.ps	$f29, $f29, $f30
	puu.ps	$f29, $f30

	recip.s	$f0, $f1
	recip.s	$f30, $f31
	recip.s	$f2, $f2
	recip.d	$f0, $f1
	recip.d	$f30, $f31
	recip.d	$f2, $f2

	round.l.s	$f0, $f1
	round.l.s	$f30, $f31
	round.l.s	$f2, $f2
	round.l.d	$f0, $f1
	round.l.d	$f30, $f31
	round.l.d	$f2, $f2

	round.w.s	$f0, $f1
	round.w.s	$f30, $f31
	round.w.s	$f2, $f2
	round.w.d	$f0, $f1


_t
MgtDelBaHeader::Deserialize (Buffer::Iterator start)
{
  Buffer::Iterator i = start;
  SetParameterSet (i.ReadLsbtohU16 ());
  m_reasonCode = i.ReadLsbtohU16 ();
  return i.GetDistanceFrom (start);
}

bool
MgtDelBaHeader::IsByOriginator (void) const
{
  return (m_initiator == 1) ? true : false;
}

uint8_t
MgtDelBaHeader::GetTid (void) const
{
  NS_ASSERT (m_tid < 16);
  uint8_t tid = static_cast<uint8_t> (m_tid);
  return tid;
}

void
MgtDelBaHeader::SetByOriginator (void)
{
  m_initiator = 1;
}

void
MgtDelBaHeader::SetByRecipient (void)
{
  m_initiator = 0;
}

void
MgtDelBaHeader::SetTid (uint8_t tid)
{
  NS_ASSERT (tid < 16);
  m_tid = static_cast<uint16_t> (tid);
}

uint16_t
MgtDelBaHeader::GetParameterSet (void) const
{
  uint16_t res = 0;
  res |= m_initiator << 11;
  res |= m_tid << 12;
  return res;
}

void
MgtDelBaHeader::SetParameterSet (uint16_t params)
{
  m_initiator = (params >> 11) & 0x01;
  m_tid = (params >> 12) & 0x0f;
}

} //namespace ns3
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
 * Copyright (c) 2016 Sébastien Deronne
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation;
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Author: Sébastien Deronne <sebastien.deronne@gmail.com>
 */

#include "ht-operation.h"

namespace ns3 {

HtOperation::HtOperation ()
  : m_primaryChannel (0),
    m_secondaryChannelOffset (0),
    m_staChannelWidth (0),
    m_rifsMode (0),
    m_reservedInformationSubset1 (0),
    m_htProtection (0),
    m_nonGfHtStasPresent (1),
    m_reservedInformationSubset2_1 (0),
    m_obssNonHtStasPresent (0),
    m_reservedInformationSubset2_2 (0),
    m_reservedInformationSubset3_1 (0),
    m_dualBeacon (0),
    m_dualCtsProtection (0),
    m_stbcBeacon (0),
    m_lSigTxopProtectionFullSupport (0),
    m_pcoActive (0),
    m_pcoPhase (0),
    m_reservedInformationSubset3_2 (0),
    m_reservedMcsSet1 (0),
    m_rxHighestSupportedDataRate (0),
    m_reservedMcsSet2 (0),
    m_txMcsSetDefined (0),
    m_txRxMcsSetUnequal (0),
    m


s, it will preview the content of the message. What does the status say?

<!DOCTYPE html>

  <meta charset="UTF-8" />
  <title>SaaS Mode FAQs</title>

  <meta name="title" content="SaaS Mode FAQs">
  <meta name="description" content=" TABLE OF CONTENTS   Billing and Wallet  How do I delete the last card from the Sub-account settings > Company billing page?  When I add or remove a card from one sub-account, why is it reflected in other sub-accounts as well?  Why is the client u...">
  <meta name="keywords" content="HighLevel SaaS Mode, SaaS configurator, billing and wallet, delete card HighLevel, shared Stripe customer, Stripe customer ID, wallet deletion, auto recharge 3DS, 3DS-only card, Indian RBI export, Stripe billing address India, welcome email template, Activate your Account, custom welcome email, sub-accounts and subscriptions, funnels create sub-account, agency plan, Import from Stripe, move subscription between sub-accounts, disable SaaS, transfer SaaS accounts, disconnect Stripe Connect, Can't disconnect because SaaS clients are using this Stripe account, invalid price currency, price currency mismatch, Manage Client page, agency wallet balance, raise support ticket, 2FA verification pending, email verification, rebilling LC, Twilio account creation, rebilling not enabled, Share a link Request via SMS Request via email, HighLevel CRM, sub-account settings Company billing, agency Stripe account change, reset agency welcome email, Agency_Plan label">

  <meta property="og:title" content="SaaS Mode FAQs">
  <meta property="og:description" content=" TABLE OF CONTENTS   Billing and Wallet  How do I delete the last card from the Sub-account settings > Company billing page?  When I add or remove a card from one sub-account, why is it reflected in other sub-accounts as well?  Why is the client u...">
  <meta property="og:type" content="article">
  <meta property="og:url" content="https://help.gohighlevel.com/support/solutions/articles/155000002129-saas-mode-faqs">

Date Updated: 2024-03-26T17:18:23.000Z

TABLE OF CONTENTS

Billing and Wallet

<a href="#How-do-I-delete-the


Tuples = [];
		}

		/**
		 * 绑定到指定命令
		 * @param cls
		 */
		public to(cls: any): EventCommandBindInfo {
			let infos: CommandBindTuple[] = this.bindTuples;
			let len: number = infos.length;
			let tuple: CommandBindTuple;
			for (var i: number = 0; i < len; ++i) {
				tuple = infos[i];
				if (tuple.ctr === cls) {
					return this;
				}
			}
			infos.push(new CommandBindTuple(cls));
			return this;
		}

		public toValue(value: any): CommandBindInfo {
			// TODO 等待实现
			return this;
		}

		public once(): CommandBindInfo {
			return this;
		}

		public inSequence(): CommandBindInfo {
			return this;
		}

		/**
		 * 将绑定设置为单例模式
		 * ！！！对于Command而言，其总是单例的，此接口只是为了提醒使用者
		 */
		public toSingleton(): InjectionBindInfo {
			throw new Error("command is always Singleton.");

		}

		dispose(): void {

		}
	}
}import { User } from './data/models'
import { odataQuery } from '../src'

describe('testing ODataQuery expand', () => {
  // one2one relation
  it('expand', () => {
    const query = odataQuery<User>()
    const actual = query.expand('address').toString()
    const expected = '$expand=address'
    expect(actual).toBe(expected)
  })

  it('expand and select', () => {
    const query = odataQuery<User>()
    const actual = query.expand('address', q => q.select('code')).toString()

    const expected = '$expand=address($select=code)'
    expect(actual).toBe(expected)
  })

  it('expand and select optional', () => {
    const query = odataQuery<User>()
    const actual = query.expand('address2', q => q.select('code')).toString()

    const expected = '$expand=address2($select=code)'
    expect(actual).toBe(expected)
  })

  it('expand twice', () => {
    const query = odataQuery<User>()
    const actual = query
      .expand('address', q => q.expand('user', q => q.select('id')))
      .toString()

    const expected = '$expand=address($expand=user($select=id))'
    expect(actual).toBe(expected)
  })

  // one2many relation
  it('expand and filter', () => {
    const query = odataQuery<User>()
    const actual = query
      .expand('posts', e => e.filter(q => q.content.startsWith('test')))
      .toString()

    const expected = "$expand=posts($filter=startswith(content, 'test'))"
    expect(actual).toBe(expected)
  })

  it('expand and filter composed', () => {
    const query = odataQuery<User>()
    const actual = query
      .expand('posts', e =>
        e.filter(q => q.content.startsWith('test').or(q.id.biggerThan(5)))
      )
      .toString()

    const expected =
      "$expand=posts($filter=startswith(content, 'test') or id gt 5)"
    expect(actual).toBe(expected)
  })

  it('expand and filter composed multiline', () => {
    const query = odataQuery<User>()
    const actual = query
      .expand('posts', e =>
        e
          .filter(q => q.content.startsWith('test').or(q.id.biggerThan(5)))
          .filter(q => q.id.lessThan(10))
      )
      .toString()

    const expected =
      "$expand=posts($filter=(startswith(content, 'test') or id gt 5) and id lt 10)"
    expect(actual).toBe(expected)
  })

  it('expand and orderby', () => {
    const query = odataQuery<User>()
    const actual = query


// #include <winhttp.h>
// #pragma comment (lib, "winhttp.lib")

#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>

#include <emscripten.h>
#include <emscripten/bind.h>

using namespace emscripten;

LGFX lcd(320, 240);

int32_t target_x = 160 * 256;
int32_t target_y = 120 * 256;
int32_t current_x = 0;
int32_t current_y = 0;
int32_t add_x = 0;
int32_t add_y = 0;

void setup()
{
  lcd.init();
  lcd.clear(TFT_PINK);
  lcd.setFont(&fonts::DejaVu24);
}

void loop()
{
  static int i;
  ++i;
  lcd.fillCircle(current_x >> 8, current_y >> 8, 5, i);
  current_x += add_x;
  current_y += add_y;
  add_x += (current_x < target_x) ? 1 : -1;
  add_y += (current_y < target_y) ? 1 : -1;
  lgfx::touch_point_t new_tp;
  if (lcd.getTouch(&new_tp))
  {
    target_x = new_tp.x * 256;
    target_y = new_tp.y * 256;
    lcd.drawCircle(new_tp.x, new_tp.y, 5, TFT_WHITE);
  }
  lcd.drawCenterString("LGFX & WASM", 160, 100);
  lgfx::delay(5);
}

/// exported funcitons
void lgfx_clear(int color)
{
  lcd.clear(color);
}

void lgfx_drawString(const std::string &s, uint32_t x, uint32_t y)
{
  lcd.drawString(s.c_str(), x, y);
}

void lgfx_drawRect(int32_t x, int32_t y, int32_t w, int32_t h, int color)
{
  lcd.drawRect(x, y, w, h, color);
}

void lgfx_drawTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, int color)
{
  lcd.drawTriangle(x0, y0, x1, y1, x2, y2, color);
}

void lgfx_drawCircle(int32_t x, int32_t y, int32_t r, int color)
{
  lcd.drawCircle(x, y, r, color);
}

/// binding C++ functions to JavaScript
EMSCRIPTEN_BINDINGS(lgfx_module)
{
  function("clear", &lgfx_clear);
  function("drawString", &lgfx_drawString);
  function("drawRect", &lgfx_drawRect);
  function("drawTriangle", &lgfx_drawTriangle);
  function("drawCircle", &lgfx_drawCircle);
}
#pragma once

#define LGFX_USE_V1

#include <LovyanGFX.hpp>

// ESP32でLovyanGFXを独自設定で利用する場合の設定例

/*
このファイルを複製し、新しい名前を付けて、環境に合わせて設定内容を変更してください。
作成したファイルをユーザープログラムからincludeすることで利用可能になります。

複製したファイルはライブラリのlgfx_userフォルダに置いて利用しても構いませんが、
その場合はライブラリのアップデート時に削除される可能性があるのでご注意ください。

安全に運用したい場合はバックアップを作成しておくか、ユーザープロジェクトのフォルダに置いてください。
//*/

/// 独自の設定を行うクラスを、LGFX_Deviceから派生して作成します。
class LGFX : public lgfx::LGFX_Device
{
/*
 クラス名は"LGFX"から別の名前に変更しても構いません。
 AUTODETECTと併用する場合は"LGFX"は使用されているため


CS_19022.enum_types = {}
CS_19022.fields = {
	slot1.CS_19022_ID_FIELD
}
CS_19022.is_extendable = false
CS_19022.extensions = {}
slot1.SC_19023_RESULT_FIELD.name = "result"
slot1.SC_19023_RESULT_FIELD.full_name = "p19.sc_19023.result"
slot1.SC_19023_RESULT_FIELD.number = 1
slot1.SC_19023_RESULT_FIELD.index = 0
slot1.SC_19023_RESULT_FIELD.label = 2
slot1.SC_19023_RESULT_FIELD.has_default_value = false
slot1.SC_19023_RESULT_FIELD.default_value = 0
slot1.SC_19023_RESULT_FIELD.type = 13
slot1.SC_19023_RESULT_FIELD.cpp_type = 3
SC_19023.name = "sc_19023"
SC_19023.full_name = "p19.sc_19023"
SC_19023.nested_types = {}
SC_19023.enum_types = {}
SC_19023.fields = {
	slot1.SC_19023_RESULT_FIELD
}
SC_19023.is_extendable = false
SC_19023.extensions = {}
slot1.CS_19024_TYPE_FIELD.name = "type"
slot1.CS_19024_TYPE_FIELD.full_name = "p19.cs_19024.type"
slot1.CS_19024_TYPE_FIELD.number = 1
slot1.CS_19024_TYPE_FIELD.index = 0
slot1.CS_19024_TYPE_FIELD.label = 2
slot1.CS_19024_TYPE_FIELD.has_default_value = false
slot1.CS_19024_TYPE_FIELD.default_value = 0
slot1.CS_19024_TYPE_FIELD.type = 13
slot1.CS_19024_TYPE_FIELD.cpp_type = 3
CS_19024.name = "cs_19024"
CS_19024.full_name = "p19.cs_19024"
CS_19024.nested_types = {}
CS_19024.enum_types = {}
CS_19024.fields = {
	slot1.CS_19024_TYPE_FIELD
}
CS_19024.is_extendable = false
CS_19024.extensions = {}
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.name = "furniture_put_list"
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.full_name = "p19.sc_19025.furniture_put_list"
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.number = 1
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.index = 0
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.label = 3
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.has_default_value = false
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.default_value = {}
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.message_type = FURFLOORPUTINFO
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.type = 11
slot1.SC_19025_FURNITURE_PUT_LIST_FIELD.cpp_type = 10
slot1.SC_19025_VISITOR_FIELD.name = "visitor"
slot1.SC_19025_VISITOR_FIELD.full_name = "p19.sc_19025.visitor"
slot1.SC_19025_VISITOR_FIELD.number = 2
slot1.SC_19025_VISITOR_FIELD.index = 1
slot1.SC_19025_VISITOR_FIELD.label = 1
slot1.SC_19025_VISITOR_FIELD.has_default_value = false
slot1.SC_19025