Connect with us

POLITICA

Uno por uno, cómo votaron los diputados la creación de la comisión investigadora por el escándalo cripto $LIBRA

Published

on


La Cámara de Diputados aprobó este martes el proyecto de creación de una comisión investigadora del escándalo de $LIBRA, la criptomoneda promocionada por el presidente Javier Milei en sus redes sociales, que el 14 de febrero alcanzó una suba importante al inicio y en pocas horas se derrumbó provocando importantes pérdidas a sus inversores. El proyecto de conformación de la comisión tuvo 128 votos a favor, 93 votos en contra y 7 abstenciones.

La sesión, que comenzó pasado el mediodía, consiguió quórum por los acuerdos entre el kirchnerismo y otros sectores de la oposición que lograron sentar en sus bancas a 129 diputados. Los pedidos de interpelación -también aprobados- incluyeron desde la secretaria General de la Presidencia, Karina Milei; al jefe de Gabinete, Guillermo Francos; el ministro de Justicia, Mariano Cúneo Libarona; y el presidente de la Comisión Nacional de Valores, Roberto Silva.

Advertisement

Pese a las presiones oficiales para que los gobernadores evitaran que sus representantes dieran quórum, la sesión avanzó con los bloques de Unión por la Patria, Democracia para Siempre, Encuentro Federal, la Coalición Cívica y la izquierda. Por la UCR se presentaron Julio Cobos y Fabio Quetglas, mientras la sorpresa fueron los cuatro de Córdoba que integran Encuentro Federal: Carlos Gutiérrez, Alejandra Torres, Ignacio García Aresca y Juan Brügge.


Conteo de Votos y Hemiciclo

Uno por uno, así votaron los diputados el proyecto para investigar el criptoescándalo de $LIBRA

Advertisement

Advertisement


`
: `

Advertisement
foto-diputado

`
}

${nombre}

${apellido}

${bloque}

`;
targetContainer.appendChild(card);
}

Advertisement

function createHemicicleSmall(nAfirmativo, nNegativo, nAbstencion, nAusente) {
const hemicycle = document.querySelector(‘.votos-diputados__hemiciclo.small’);
hemicycle.innerHTML = »; // Clear previous content.

const centerX = 300;
const baseY = 450;
const numberOfRows = 10;
// Array of seats per row (from outer to inner)
const seatsPerRow = [38, 36, 33, 30, 27, 24, 21, 19, 16, 13];
const verticalOffset = 2;
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
const totalVotes = nAfirmativo + nNegativo + nAbstencion + nAusente;

// Instead of percentage-based rounding, we’ll compute a per-row distribution
// using floor() and then distribute any remaining seats based on the remainders.
let rowSeatCounts = seatsPerRow.map((seatsInRow) => {
// Compute the exact (floating point) allocation for each category.
const exactAfirmativo = (nAfirmativo * seatsInRow) / totalSeats;
const exactNegativo = (nNegativo * seatsInRow) / totalSeats;
const exactAbstencion = (nAbstencion * seatsInRow) / totalSeats;
const exactAusente = (nAusente * seatsInRow) / totalSeats;
// Take floor values.
let rowAfirmativo = Math.floor(exactAfirmativo);
let rowNegativo = Math.floor(exactNegativo);
let rowAbstencion = Math.floor(exactAbstencion);
let rowAusente = Math.floor(exactAusente);
let assigned = rowAfirmativo + rowNegativo + rowAbstencion + rowAusente;
let diff = seatsInRow – assigned;
// Create an array of remainders along with category identifiers.
let remainders = [{
cat: «afirmativo»,
remainder: exactAfirmativo – rowAfirmativo
},
{
cat: «negativo»,
remainder: exactNegativo – rowNegativo
},
{
cat: «abstencion»,
remainder: exactAbstencion – rowAbstencion
},
{
cat: «ausente»,
remainder: exactAusente – rowAusente
}
];
// Sort descending by remainder.
remainders.sort((a, b) => b.remainder – a.remainder);
// Distribute the remaining seats one by one to the categories with the highest remainders.
while (diff > 0) {
for (let r of remainders) {
if (diff <= 0) break;
switch (r.cat) {
case «afirmativo»:
rowAfirmativo++;
break;
case «negativo»:
rowNegativo++;
break;
case «abstencion»:
rowAbstencion++;
break;
case «ausente»:
rowAusente++;
break;
}
diff–;
}
}
return {
afirmativo: rowAfirmativo,
negativo: rowNegativo,
abstencion: rowAbstencion,
ausente: rowAusente
};
});

Advertisement

// Now, using your inverted loop order (columns first, then rows)
const maxSeatsInRow = seatsPerRow[0]; // maximum seats in the outer row

// For each seat position (by column, then row), assign the color based on that row’s distribution.
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < numberOfRows; row++) {
if (col < seatsPerRow[row]) { // only if this row has a seat at this column
const seatsInThisRow = seatsPerRow[row];
const radius = 170 – row * (16 – verticalOffset);
const angleRange = Math.PI; // semicircle
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = centerX + radius * Math.cos(angle);
const y = baseY – radius * Math.sin(angle);

// For this row, assign colors in order:
// First use available «afirmativo», then «negativo», then «abstencion», then «ausente»
let colorClass=»color-empty»;
if (rowSeatCounts[row].afirmativo > 0) {
colorClass=»color-afirmativo»;
rowSeatCounts[row].afirmativo–;
} else if (rowSeatCounts[row].negativo > 0) {
colorClass=»color-negativo»;
rowSeatCounts[row].negativo–;
} else if (rowSeatCounts[row].abstencion > 0) {
colorClass=»color-abstencion»;
rowSeatCounts[row].abstencion–;
} else if (rowSeatCounts[row].ausente > 0) {
colorClass=»color-ausente»;
rowSeatCounts[row].ausente–;
}
const seat = document.createElement(‘div’);
seat.classList.add(‘seat’, colorClass);
seat.style.left = `${x}px`;
seat.style.top = `${y}px`;
hemicycle.appendChild(seat);
}
}
}

Advertisement

// Set the legend text.
const leyText = nAfirmativo > nNegativo ? ‘Ley Aprobada’ : ‘Ley no aprobada’;
document.querySelector(‘#voto-summary’).innerHTML = `

Afirmativo: ${nAfirmativo} |
Negativo: ${nNegativo}

Abstención: ${nAbstencion} |
Ausente: ${nAusente}

` + ‘

Advertisement

‘ + leyText + ‘

‘;
}

// Creates the big hemiciclo visualization.
function createHemicicleBig(nAfirmativo, nNegativo, nAbstencion, nAusente) {
const hemicycle = document.querySelector(‘.votos-diputados__hemiciclo.big’);
hemicycle.innerHTML = »; // Clear previous content.

Advertisement

const centerX = 300;
const baseY = 450;
const numberOfRows = 10;
// Array of seats per row (outer to inner; total should be 257)
const seatsPerRow = [38, 36, 33, 30, 27, 24, 21, 19, 16, 13];
const verticalOffset = 2;
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);

// Raw vote counts must sum to totalSeats (257)
const totalVotes = nAfirmativo + nNegativo + nAbstencion + nAusente;
if (totalVotes !== totalSeats) {
console.warn(«Total votes (» + totalVotes + «) do not equal total seats (» + totalSeats + «).»);
}

// — Per-Row Distribution Using Absolute Counts —
// For each row, compute the exact allocation for each vote category based on its fraction of the total seats.
let rowSeatCounts = seatsPerRow.map(seatsInRow => {
const exactA = (nAfirmativo / totalSeats) * seatsInRow;
const exactN = (nNegativo / totalSeats) * seatsInRow;
const exactAb = (nAbstencion / totalSeats) * seatsInRow;
const exactAu = (nAusente / totalSeats) * seatsInRow;

Advertisement

let rowA = Math.floor(exactA);
let rowN = Math.floor(exactN);
let rowAb = Math.floor(exactAb);
let rowAu = Math.floor(exactAu);

let assigned = rowA + rowN + rowAb + rowAu;
let diff = seatsInRow – assigned;

// Create an array of remainders for each category.
let remainders = [{
cat: «afirmativo»,
rem: exactA – rowA
},
{
cat: «negativo»,
rem: exactN – rowN
},
{
cat: «abstencion»,
rem: exactAb – rowAb
},
{
cat: «ausente»,
rem: exactAu – rowAu
}
];
// Sort the remainders in descending order.
remainders.sort((a, b) => b.rem – a.rem);

Advertisement

// Distribute any leftover seats one by one.
while (diff > 0) {
for (let r of remainders) {
if (diff <= 0) break;
switch (r.cat) {
case «afirmativo»:
rowA++;
break;
case «negativo»:
rowN++;
break;
case «abstencion»:
rowAb++;
break;
case «ausente»:
rowAu++;
break;
}
diff–;
}
}
return {
afirmativo: rowA,
negativo: rowN,
abstencion: rowAb,
ausente: rowAu
};
});

// — Global Correction —
// Sum the allocated seats for each category across all rows.
let globalA = rowSeatCounts.reduce((sum, row) => sum + row.afirmativo, 0);
let globalN = rowSeatCounts.reduce((sum, row) => sum + row.negativo, 0);
let globalAb = rowSeatCounts.reduce((sum, row) => sum + row.abstencion, 0);
let globalAu = rowSeatCounts.reduce((sum, row) => sum + row.ausente, 0);

// For each category, if the global total is less than the raw count, add the missing seats to the outer row (row 0).
if (globalA < nAfirmativo) {
rowSeatCounts[0].afirmativo += (nAfirmativo – globalA);
}
if (globalN < nNegativo) {
rowSeatCounts[0].negativo += (nNegativo – globalN);
}
if (globalAb < nAbstencion) {
rowSeatCounts[0].abstencion += (nAbstencion – globalAb);
}
if (globalAu < nAusente) {
rowSeatCounts[0].ausente += (nAusente – globalAu);
}

Advertisement

// — Seat Placement Using Inverted Loop Order —
const maxSeatsInRow = seatsPerRow[0];
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < numberOfRows; row++) {
if (col < seatsPerRow[row]) { // Only process if this row has a seat at the current column.
const seatsInThisRow = seatsPerRow[row];
const radius = 300 – row * (30 – verticalOffset);
const angleRange = Math.PI; // semicircle
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = centerX + radius * Math.cos(angle);
const y = baseY – radius * Math.sin(angle);

// For the current row, assign the color in order: afirmativo, then negativo, then abstencion, then ausente.
let colorClass=»color-empty»;
if (rowSeatCounts[row].afirmativo > 0) {
colorClass=»color-afirmativo»;
rowSeatCounts[row].afirmativo–;
} else if (rowSeatCounts[row].negativo > 0) {
colorClass=»color-negativo»;
rowSeatCounts[row].negativo–;
} else if (rowSeatCounts[row].abstencion > 0) {
colorClass=»color-abstencion»;
rowSeatCounts[row].abstencion–;
} else if (rowSeatCounts[row].ausente > 0) {
colorClass=»color-ausente»;
rowSeatCounts[row].ausente–;
}

const seat = document.createElement(‘div’);
seat.classList.add(‘seat’, colorClass);
seat.style.left = `${x}px`;
seat.style.top = `${y}px`;
hemicycle.appendChild(seat);
}
}
}

Advertisement

/* // — Update Legend —
const leyText = nAfirmativo > nNegativo ? «Ley Aprobada» : «Ley no aprobada»;
const resultsText=»shshs»;
document.querySelector(«#voto-summary»).innerHTML = leyText + resultsText; */
}

// Go-to-top button functionality.
document.addEventListener(‘DOMContentLoaded’, function() {
const goToTopButton = document.querySelector(‘.votos-diputados__go-to-top’);
const targetElement = document.querySelector(‘.votos-diputados’);

goToTopButton.addEventListener(‘click’, function() {
targetElement.scrollIntoView({
behavior: ‘smooth’
});
});
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
goToTopButton.style.display = entry.isIntersecting ? ‘block’ : ‘none’;
});
}, {
root: null,
rootMargin: ‘0px’,
threshold: 0.1
});
observer.observe(targetElement);

Advertisement

// Attach the toggle listener to each vote button.
const toggleBtns = document.getElementsByClassName(‘votos-diputados__voto-btn’);
for (let i = 0; i < toggleBtns.length; i++) {
toggleBtns[i].addEventListener(‘click’, function() {
this.classList.toggle(‘active’);
const panel = this.nextElementSibling;
panel.style.maxHeight = panel.style.maxHeight ? null : ‘14000px’;
});
}

// Now simulate a click on each button from within DOMContentLoaded.
// This will trigger the listener and expand each panel on load.
for (let i = 0; i < toggleBtns.length; i++) {
toggleBtns[i].click();
}

});

Advertisement
Advertisement

POLITICA

“La paz es el premio”: la foto de Javier Milei y Marco Rubio que publicó el Departamento de Estado de EEUU

Published

on



En las últimas horas, el Departamento de Estado de EEUU publicó una foto oficial que ratifica la buena sintonía con el gobierno de Argentina. Con el lema “la paz es el premio”, grafica una conversación entre el presidente Javier Milei y el canciller nortemaricano, Marco Rubio, en el marco de la sesión inaugural de la denominada Junta de la Paz, que se realizó ayer en Washington.

Milei fue invitado por el propio Donald Trump a participar del foro multitaleral, que tiene por objetivo garantizar la reconstrucción de Gaza, entre otros conflictos mundiales, y durante su breve intervención ofreció el envío de los Cascos Blancos como misión humanitaria.

Advertisement

“Ponemos a disposición la colaboración de nuestros cascos blancos, la trayectoria en operaciones de paz es un capital probado que ponemos al servicio de la fuerza de estabilización”, subrayó Milei, al tiempo que destacó la necesidad de una “diplomacia que asume riesgos para alcanzar la paz” y resaltó el liderazgo de Trump.

Por su lado, el presiente norteamericano anunció la creación de un fondo de 7.000 millones de dólares, aportado por Kazajistán, Azerbaiyan, Emiratos Árabes Unidos, Marruecos, Bahrein, Qatar, Arabia Saudita, Uzbekistán y Kuwait.

La publicación en X del Departamento de Estado de EEUU  (@StateDept)

La jornada estuvo marcada por la ausencia de países centrales de la Unión Europea, así como de Rusia, China, Japón, Canadá, México y Brasil, que no participaron activamente en la Junta de la Paz. Italia asistió en calidad de observador especial, hecho que generó malestar dentro de la estructura europea debido a su afinidad política con Trump.

Advertisement

Durante su discurso, Trump se refirió a la relación que mantiene con Milei. “Respaldo cuando me cae bien alguien”, indicó, y recordó que ganó las últimas elecciones “de manera aplastante”.

En medio de su exposición, sorprendió a la audiencia cuando empezó a buscar al líder de La Libertad Avanza entre los invitados. “¿Dónde está el presidente Milei?“, preguntó varias veces con una sonrisa.

“Yo lo apoyé (a Milei), lo respaldé. No se supone que deba respaldar a personas, pero respaldo cuando me cae bien alguien. Tuve un muy buen historial apoyando candidatos dentro de los Estados Unidos. Pero ahora respaldo a líderes extranjeros, incluido Viktor Orbán, que está acá, y a otros», señaló Trump.

Advertisement

Y recordó que en las elecciones legislativas del 2025 Milei “estaba un poco atrás en las encuestas” pero “terminó ganando por goleada”, tras su apoyo.

Por su lado, anunció que Estados Unidos contribuirá con 10.000 millones de dólares para el plan que contempla, además de la asistencia financiera, el despliegue de contingentes internacionales de estabilización y policía, ante la preocupación de que la Junta pueda constituirse en un órgano alternativo o rival para la ONU.

La sesión inaugural permitió que los representantes analizaran no solo el alcance inmediato de la ayuda, sino también la logística para canalizar los recursos a través de organismos multilaterales y la colaboración con entidades humanitarias en el terreno. Trump subrayó que el trabajo de la Junta incluirá la supervisión y coordinación de los fondos, así como la definición de criterios para seleccionar los proyectos prioritarios en Gaza y, eventualmente, en otros puntos de crisis. La atención se centró en la restauración de infraestructura crítica, la provisión de servicios básicos y la protección de la población civil en un escenario de alto riesgo.

Advertisement

Durante su intervención, Trump reiteró sus críticas hacia la ONU en conflictos recientes, afirmando que la Junta de Paz tendrá la función de “supervisar” el desempeño del organismo internacional y velar por su eficacia. No obstante, matizó que Estados Unidos buscará mantener una relación de cooperación con Naciones Unidas en áreas donde sea posible la convergencia de esfuerzos, especialmente en la reconstrucción y estabilización de zonas afectadas por la guerra.

Departamento de Estado,Javier Milei,Marco Rubio,Estados Unidos,Argentina,política,diplomacia,relaciones internacionales,tweet

Advertisement
Continue Reading

POLITICA

Todos los detalles del Fondo de Asistencia Laboral

Published

on



El Fondo de Asistencia Laboral (FAL) es uno de los artículos claves de la reforma laboral que se aprobó en la Cámara de Diputados y que ahora deberá tratar el Senado. El Gobierno lo presenta como un instrumento para financiar las indemnizaciones por despido, pero los opositores advierten que, en realidad, servirá para fondear al Estado a costa del desfinanciamiento del sistema previsional.

De los 26 títulos y más de 200 artículos que componen la reforma, fue uno de los que el ministro de Economía, Luis Caputo, se negó a negociar. La oposición lo intentó voltear en la discusión en particular, pero el oficialismo desplegó un fuerte dispositivo de disuasión para evitarlo. El trabajo dio sus frutos: el capítulo II de la reforma laboral, que contenía el artículo del FAL, se aprobó finalmente con 130 votos positivos, contra 117 rechazos y tres abstenciones. El oficialismo tuvo cinco votos menos que los obtenidos en la aprobación en general. Estos son los principales puntos que establece la norma.

Advertisement
Continue Reading

POLITICA

Reforma laboral 2026, EN VIVO: principales puntos, a quiénes afecta y qué falta para que sea ley

Published

on


  • Seguir

Todo sobre el debate de la reforma laboral en el Congreso minuto a minuto:

Vie. 20.02.2026-09:51

Advertisement

El aporte de los gobernadores fue crucial en la votación en Diputados

Vie. 20.02.2026-09:31

Cristian Jerónimo: «Si me estuviera viendo un gobernador peronista que apoyó la reforma laboral le diría que me da vergüenza»

Vie. 20.02.2026-09:11

Uno por uno, qué diputados votaron a favor de la reforma laboral y cuáles en contra

Advertisement

Vie. 20.02.2026-08:52

Luis Caputo defendió los «cambios estructurales» del Gobierno y aseguró que «el pasado fue»

Vie. 20.02.2026-08:29

«El Congreso se llenó de therians», la furiosa respuesta de un jefe gremial tras la aprobación en Diputados de la reforma laboral

Aguiar deslizó irónicamente que "el Parlamento es un nido en el que hay bastantes ratas". Foto X.

Vie. 20.02.2026-08:14

Reforma laboral: el Senado vuelve a debatir el proyecto sin el artículo 44 y el Gobierno apunta a aprobarlo el 27 de febrero

Advertisement
Marina Devita

Marina DevitaBio completa

Continue Reading

Tendencias